#困っていること(原因が分からないこと)
.NETFramework4にて、Windowsフォームアプリケーションを作成しています。
その際行いたい実装として、「フォームの中にフォームを表示する」というものがあります。
フォーム内にフォームを表示する - .NET Tips (VB.NET,C#...)
上記を参考に、フォームA(親)とフォームB(子)を用意し、以下のようにフォームAのコントロール内にフォームBを表示させました。
C#
1 /// <summary> 2 /// コンストラクタ 3 /// </summary> 4 public MainForm() 5 { 6 InitializeComponent(); 7 8 OpenSubForm(); 9 } 10 11 public virtual void OpenSubForm() 12 { 13 BForm bForm = new BForm(); 14 bForm.TopLevel = false; 15 ((Control)this.panel5).Controls.Add(bForm); 16 bForm.Show(); 17 bForm.BringToFront(); 18 }
そうしたところ、確かにフォームB(コード中のBForm)はpanel内に表示されましたが、デザイナ上のフォームBの大きさと、
フォームAのpanelに呼び出されたフォームBの大きさにかなり差異が出てしまいました。(デザイナよりかなり大きくなりました)
フォームBのFormBorderStyleをnoneにしている為、外枠の分大きさが異なるのか?とも始めは思いましたが、
デザイナの大きさの違いがそれ以上であることや、フォームBに配置したボタンの大きさもかなり大きくなっていた為、
それが原因ではないなと考えました。
ただ、その原因として思い浮かぶものもなく、
調べても該当する情報がなかなか出てこなかったため、質問させて頂きました。
#実行結果
左側がデザイナ上のボタン
右側が実行結果にしたときのボタンです。
フォームB自体の大きさも違う為、全体的に引き伸ばされている印象を受けます。
(フォームBだけデザイナとの差異があります。フォームAでは起こらないという状態になっています)
もしこの原因にお心当たりがある方いらっしゃいましたら、
この原因に関して、お手数ですがご教示頂けますと幸いです。
何卒宜しくお願い致します。
#試してみたこと
・panel以外のコントロールでフォームBを呼び出した場合は?
→ フォームAに直接呼び出してみましたが、同じ結果でした。
#これから検証してみること
呼び出されたフォームは呼び出されたコントロールの大きさに比例して縮小される?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/01 08:37