none
MDI親フォームについて RRS feed

  • 質問

  • こんにちは。

    VB2010+SQLServer 2008 Expressを使用しています。

    メニューフォーム(フォームA)とデータを入力するフォーム(フォームB)を別にしようと考え、それぞれを作成し、
    フォームAからフォームBのメソッドを呼び出す方法を調べていたところ、MDI親フォームというものに行き当たりました。

    こちらのヘルプなどを読んでいたのですが、通常のフォームで使用できるButtonコントロールがありませんでした。
    (ラベルのような形でButtonコントロールのようにクリックできるものはありましたが)

    MDI親フォームでは通常のフォームのButtonコントロールと同じ見た目にすることはできないのでしょうか。

    2012年6月6日 1:56

回答

  • 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
    2012年6月6日 5:18
    モデレータ

すべての返信

  • フォームAからフォームBのメソッドを呼び出すだけであれば、MDIにする必要はありません。確認ですが、MDIが前提なのでしょうか?


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/

    2012年6月6日 2:50
    モデレータ
  • メニューフォーム(フォームA)とデータを入力するフォーム(フォームB)を別にしようと考え、それぞれを作成し、
    フォームAからフォームBのメソッドを呼び出す方法を調べていたところ、MDI親フォームというものに行き当たりました。

    こちらのヘルプなどを読んでいたのですが、通常のフォームで使用できるButtonコントロールがありませんでした。
    (ラベルのような形でButtonコントロールのようにクリックできるものはありましたが)

    MDI親フォームでは通常のフォームのButtonコントロールと同じ見た目にすることはできないのでしょうか。


    Button コントロールは、MDIフォームであろうが通常のフォームであろうが見た目は変わりませんが・・・何の記事を読まれていたのでしょうか?

    ひらぽん http://d.hatena.ne.jp/hilapon/

    2012年6月6日 3:53
    モデレータ
  • ご回答ありがとうございます。

    MDIが前提というわけではありません。
    (まだ、どのような時にMDIが有効かすらわかっていません。)

    たまたま、フォームAからフォームBのメソッドを呼び出す方法を調べていたら、この内容が目に入ったので、
    便利にしようができるのかと思い、調べ始めたところです。

    2012年6月6日 3:55
  • 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
    2012年6月6日 5:18
    モデレータ
  • ご回答ありがとうございます。

    ひらぽん様へ

    誠に申し訳なかったのですが、私が書いていたのは「ToolStrip」コントロールの「Buttun」でした。
    申し訳ありません。

    trapemiya様へ

    ありがとうございます。
    Windowフォームの追加から「MDI親フォーム」を選択した際に、ツールボックスのコントロールを配置するところが
    見当たらず、悩んでいたところでした。

    今回は、MDI親フォームを使わない方法で行ってみます。

    ただ、せっかくなので、もう少し勉強をしてみたいと思います。

    ありがとうございました。

    2012年6月6日 7:07