• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C# Locationが移動できません)

C#のLocationが移動できない

このQ&Aのポイント
  • C#のプログラムでメインフォーム上のBtn2をクリックすると、新しいフォーム(DLG)が表示されます。
  • しかし、DLGのフォーム位置を変更する行を追加しても、表示位置が変わらず、50,50付近や150,150付近に表示されます。
  • この問題の原因を解明し、フォーム位置を正しく変更する方法を知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

DLG.StartPosition = FormStartPosition.Manual;

MKT_
質問者

お礼

 【解決☆】  どうもありがとうございます!!!!!m(_ _)m >←ここ の行を教えていただいたコードに書き換えてうまくいきました。  デザイナのプロパティのStartPositionを WindowsDefaultLocation →Manual としても解決いたしました。m(_ _)m  7~8時間くらい検索&頑張ってうまくいかなかったので非常に嬉しいです。  この度はご閲覧&アドバイスいただきまして誠にありがとうございました!m(_ _)m

その他の回答 (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(); //フォームを解放 }

MKT_
質問者

お礼

 ご回答いただき誠にありがとうございます。 「モーダル表示すると、メインフォームを触れず、また2つ目以降のDLGを開けない」という理解でよろしいでしょうか。 おそらくそれらを可能にするため(=DLGを何個も開けるようにする。DLG表示中にメインフォームを触れるようにする)に このような仕様にしてくれているのだと思うのですが、 私もそのままのほうが良い次第です。  どうぞよろしくお願いいたします。

関連するQ&A