トップ回答者
MDI親フォームについて

質問
-
こんにちは。
VB2010+SQLServer 2008 Expressを使用しています。
メニューフォーム(フォームA)とデータを入力するフォーム(フォームB)を別にしようと考え、それぞれを作成し、
フォームAからフォームBのメソッドを呼び出す方法を調べていたところ、MDI親フォームというものに行き当たりました。こちらのヘルプなどを読んでいたのですが、通常のフォームで使用できるButtonコントロールがありませんでした。
(ラベルのような形でButtonコントロールのようにクリックできるものはありましたが)MDI親フォームでは通常のフォームのButtonコントロールと同じ見た目にすることはできないのでしょうか。
回答
-
MDIアプリケーションでは、ウインドウを開くときに必ず親のウインドウが必要になります。ですから、親ウインドウの中で複数のウインドウを開いた時に意味があります。
MDI親ウインドウにボタンなどを配置したい場合は、まずPanelコントロールを置き、その上にButtonコントロールを配置されると良いでしょう。フォームAからフォームBのメソッドを呼び出すことは、MDIでもSDIでも可能です。フォームもクラスですから、クラス間におけるメソッド呼び出しになります。よって、オブジェクト指向におけるプログラミングの範疇になり、MDIやSDIと言った、フォームのレイアウトとは基本的に無関係です。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク TI-cb400 2012年6月6日 7:07
すべての返信
-
メニューフォーム(フォームA)とデータを入力するフォーム(フォームB)を別にしようと考え、それぞれを作成し、
フォームAからフォームBのメソッドを呼び出す方法を調べていたところ、MDI親フォームというものに行き当たりました。こちらのヘルプなどを読んでいたのですが、通常のフォームで使用できるButtonコントロールがありませんでした。
(ラベルのような形でButtonコントロールのようにクリックできるものはありましたが)MDI親フォームでは通常のフォームのButtonコントロールと同じ見た目にすることはできないのでしょうか。
Button コントロールは、MDIフォームであろうが通常のフォームであろうが見た目は変わりませんが・・・何の記事を読まれていたのでしょうか?ひらぽん http://d.hatena.ne.jp/hilapon/
-
MDIアプリケーションでは、ウインドウを開くときに必ず親のウインドウが必要になります。ですから、親ウインドウの中で複数のウインドウを開いた時に意味があります。
MDI親ウインドウにボタンなどを配置したい場合は、まずPanelコントロールを置き、その上にButtonコントロールを配置されると良いでしょう。フォームAからフォームBのメソッドを呼び出すことは、MDIでもSDIでも可能です。フォームもクラスですから、クラス間におけるメソッド呼び出しになります。よって、オブジェクト指向におけるプログラミングの範疇になり、MDIやSDIと言った、フォームのレイアウトとは基本的に無関係です。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク TI-cb400 2012年6月6日 7:07