0

我在 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 中获得相同的结果吗?

4

2 回答 2

3

通常,最好在表单的设计器中进行设置。

根据需要设置StartPositionFormStartPosition.ManualLocation。这将导致在适当的位置创建表单,您的代码(一旦正常工作)实际上将在其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...
    }
于 2013-07-08T16:21:22.770 回答
0

我以前没有看到这一行,如果是这样,除非没有在您的表单事件中注册,I have also changed the properties to manual positioning否则您的代码没有理由不起作用。Form1_LoadLoad

于 2013-07-08T16:20:59.263 回答