質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

.NET Framework 4.0

Microsoft Windows用のソフトウェア開発環境/実行環境である .NET Frameworkの4番目のメジャーバージョンです。

Q&A

解決済

1回答

1580閲覧

【WindowsForm】フォームの中にフォームを配置した時、中のフォームの大きさがデザイナ上と異なる

sujico.net

総合スコア453

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

.NET Framework 4.0

Microsoft Windows用のソフトウェア開発環境/実行環境である .NET Frameworkの4番目のメジャーバージョンです。

0グッド

0クリップ

投稿2018/11/01 01:51

編集2018/11/01 04:47

#困っていること(原因が分からないこと)
.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に直接呼び出してみましたが、同じ結果でした。

#これから検証してみること
呼び出されたフォームは呼び出されたコントロールの大きさに比例して縮小される?

イメージ説明
イメージ説明
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

フォームに限らずデザイナ上の大きさと実際の大きさは違います。
Dock プロパティや Anchor プロパティを使って配置してください。

投稿2018/11/01 04:48

Zuishin

総合スコア28656

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sujico.net

2018/11/01 08:37

承知致しました。 ご回答頂きありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問