- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C# Locationが移動できません)
C#のLocationが移動できない
このQ&Aのポイント
- C#のプログラムでメインフォーム上のBtn2をクリックすると、新しいフォーム(DLG)が表示されます。
- しかし、DLGのフォーム位置を変更する行を追加しても、表示位置が変わらず、50,50付近や150,150付近に表示されます。
- この問題の原因を解明し、フォーム位置を正しく変更する方法を知りたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
DLG.StartPosition = FormStartPosition.Manual;
その他の回答 (1)
- kteds
- ベストアンサー率42% (1882/4440)
回答No.1
Form2を作成しておいて、 下記のように位置指定して ダイアログとして表示してはどうでしょうか。 private void Btn2_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); f2.Left = 1100; f2.Top = 0; f2.StartPosition = FormStartPosition.Manual; f2.ShowDialog(this); //モーダルダイアログボックスとして表示 f2.Dispose(); //フォームを解放 }
質問者
お礼
ご回答いただき誠にありがとうございます。 「モーダル表示すると、メインフォームを触れず、また2つ目以降のDLGを開けない」という理解でよろしいでしょうか。 おそらくそれらを可能にするため(=DLGを何個も開けるようにする。DLG表示中にメインフォームを触れるようにする)に このような仕様にしてくれているのだと思うのですが、 私もそのままのほうが良い次第です。 どうぞよろしくお願いいたします。
お礼
【解決☆】 どうもありがとうございます!!!!!m(_ _)m >←ここ の行を教えていただいたコードに書き換えてうまくいきました。 デザイナのプロパティのStartPositionを WindowsDefaultLocation →Manual としても解決いたしました。m(_ _)m 7~8時間くらい検索&頑張ってうまくいかなかったので非常に嬉しいです。 この度はご閲覧&アドバイスいただきまして誠にありがとうございました!m(_ _)m