Windows フォームを使用して、ウィンドウを特定の座標に配置したいと考えていました。簡単な方法でできると思ったのですが、次のコードはまったく機能しません。
public Form1()
{
InitializeComponent();
this.Top = 0;
this.Left = 0;
}
ただし、そのウィンドウへのハンドルのみを取得する場合は、うまく機能します。
public Form1()
{
InitializeComponent();
IntPtr hwnd = this.Handle;
this.Top = 0;
this.Left = 0;
}
そのポインターをまったく操作していないことがわかります。MSDN で次のステートメントを見つけました。
Handle プロパティの値は Windows HWND です。ハンドルがまだ作成されていない場合、このプロパティを参照するとハンドルが強制的に作成されます。
ハンドルの作成後にのみウィンドウの位置を設定できるということですか? セッター Top/Left はこのハンドルを内部で使用していますか? 明確にしていただきありがとうございます。