我在表单大小中遇到不正确的行为,我手动设置宽度和高度的值,但生成的表单小于预期。
我做了一个简单的表格来说明我的问题,表格在IDE中设置为400x400。
在表单上有三个带有文本更改的标签,用鼠标移动它们的代码如下:
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
label1.Text = "this.Width = " + this.Width.ToString();
label2.Text = "this.Height = " + this.Height.ToString();
label3.Text = "Mouse X coordinate = " + e.X.ToString() + "\nMouse Y coordinate = " + e.Y.ToString();
}
这就是我得到的:
宽度
高度
有什么想法吗?
答案 0 :(得分:-1)
Windows窗体大小为400x400,但不包括标题栏和边框的活动区域不同,鼠标指针根据活动区域获取坐标。您可以按this.ClientSize.Width
和this.ClientSize.Height
获取有效区域大小。
将客户区设置为400x400(根据它更改表单大小),它将显示正确的结果。