我在visual studio 2012上有以下代码,我还将属性更改为手动定位。
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.Location = new Point(100, 100);
}
}
}
应该将我的窗口的左上角定位在(100,100)坐标上。
我在网上得到了这个例子,他们使用的是Visual Studio 2010.在Visual Studio 2012中我是否需要做些什么来实现相同的结果呢?
答案 0 :(得分:3)
通常情况下,最好在Form的设计器中进行设置。
将StartPosition
设置为FormStartPosition.Manual
,并根据需要设置Location
。这将导致表单在正确的位置创建,您的代码(一旦正常工作)将实际在其Load
事件处理程序中移动表单。
我在他们使用visual studio 2010的网上得到了这个例子,是否有必要为我在visual studio 2012中实现相同结果?
在VS 2010和2012中,此代码实际上应该正常运行(Windows窗体代码在所有版本的.NET Framework中的工作方式相同)。确保Form1_Load
实际设置为Form.Load
事件处理程序。如果在设计器中没有这样做,您可以手动将其添加到构造函数中:
public Form1()
{
InitializeComponent();
this.Load += Form1_Load; // Needs to be setup in designer or here...
}
答案 1 :(得分:0)
之前我没有看到此行I have also changed the properties to manual positioning
,如果是这样,除非Form1_Load
未在您的表单Load
事件中注册,否则您的代码无法正常工作。