以下を使用してフォームの場所を設定したい:
this.Location = new Point(2908, 953);
コンストラクターで。コンストラクターはそれを無視しているようです。プログラムの実行中に一度だけその場所に行き、プログラムの開始時にそれを正しく実行したい。
私は何をすべきか?
以下を使用してフォームの場所を設定したい:
this.Location = new Point(2908, 953);
コンストラクターで。コンストラクターはそれを無視しているようです。プログラムの実行中に一度だけその場所に行き、プログラムの開始時にそれを正しく実行したい。
私は何をすべきか?
Form.StartPosition
コンストラクターからフォームの初期位置を設定するには、デフォルト値からに変更する必要がありますFormStartPosition.Manual
public MainForm()
{
InitializeComponent();
StartPosition = FormStartPosition.Manual;
Location = new Point(2908, 953);
}
もう代替手段は必要ありませんが。Form.Load
コンストラクターを使用する代わりに、イベント ハンドラーで Form の場所を変更することもできます。
匿名ユーザーが指摘したように、正しい方法は StartPositon プロパティを使用することですが、これも機能することがわかりました(難しい方法です):
IntPtr h = this.Handle; // to make Location=... work
Location = new Point(200,10);
なぜそれが機能するのかを説明したい人はいますか?( h はコンストラクターのどこにも使用されていません、BTW)