相对于应用程序的光标位置
我知道如何获得光标的位置:
int X = Cursor.Position.X; int Y = Cursor.Position.Y;
但这与屏幕有关。 我如何获得相对于我的表格的坐标?
使用Control.PointToClient
方法 。 假设this
指向有问题的表格:
var relativePoint = this.PointToClient(new Point(X, Y));
或者干脆:
var relativePoint = this.PointToClient(Cursor.Position);
我会像这样使用PointToClient
:
Point p = yourForm.PointToClient(Cursor.Position); //if calling it in yourForm class, just replace yourForm with this or simply remove it.
如何使用Control.PointToClient尝试这样: –
public Form() { InitializeComponent(); panel = new System.Windows.Forms.Panel(); panel.Location = new System.Drawing.Point(90, 150); panel.Size = new System.Drawing.Size(200, 100); panel.Click += new System.EventHandler(this.panel_Click); this.Controls.Add(this.panel); } private void panel_Click(object sender, EventArgs e) { Point point = panel.PointToClient(Cursor.Position); MessageBox.Show(point.ToString()); }
- 如何在ASP.NET中清理MCE的输入?
- 如何使用Linq和C#3.5从ComboBox中的SelectedItem获取值
- 如何使用ADAL,NetStandard和Azure AD在没有提示CRM Dynamics Online Web服务的情况下进行身份validation
- 有没有办法捕获lambda表达式,以便它不是编译时强制将身份作为表达式或委托类型?
- 使用Parallel Linq Extensions结合两个序列,如何才能首先产生最快的结果?
- 我如何在C#中使用32位unicode字符?
- 如何将暴露给COM-interop的.NET对象标记为单线程?
- 如何使用存储过程插入数据表时获取范围标识列
- 在assembly信息中动态显示当前年份