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 に答える