• 締切済み

MenuStripの継承でプロパティが反映されない

お世話になっております。 Visual Studioを使用してプログラムを実施しております。 MenuStripクラスを継承した自作クラスAをFormに張り付けて、 自作クラスBを作成しました。 Visual Studio上で、自作クラスBを開き、自作クラスAのプロパティ「Items」を使用して メニューアイテムの設定を変更しようとしているのですが、「Items」の設定が、自作クラスB のデザイナに反映されず困っております。。。 MenuStripを継承したクラスの場合、設定されているメニューアイテムの設定は 変更できないのでしょうか。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

こちらが参考になるかも …

参考URL:
http://www.kanazawa-net.ne.jp/~pmansato/net/net_make_ControlDesigner.htm
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

ん~ 簡単にはいかないと思いますよ UserControl内に配置したメニューを フォームデザイナ側で編集したいとなると UserControlクラスに カスタムデザイナを実装しなければいけないようです MSDNのチュートリアル 「Visual Studio のデザイン時機能を活用した Windows フォーム コントロールの作成 」 を参考にして見ましょう

参考URL:
http://msdn.microsoft.com/ja-jp/library/35ea88wb(v=vs.110).aspx
wafu1318
質問者

お礼

簡単にはいかないのですね。。。 もう少し分かりやすいサイトはありませんか? もしあれば教えて頂けると助かります。

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

現象の再現できる 最小の手順とコードの提示をしたほうがいいと思います 1) メニュークラスの追加 // MenuStripを継承したクラス // クラスの追加で class.csを追加 // using の Windows.Formsを追加 using System.Windows.Forms; namespace CSTest001 {   // [public]と[: MenuStrip]を追加   public class TestMenuStrip : MenuStrip   {   } } 2) このプロジェクトをビルド 3) デザイナでフォームに貼り付け 4) 追加したTestMenuStrip1のプロパティ Itemsを変更 といった手順だと希望通りの動きのように思えます …

wafu1318
質問者

補足

ご回答ありがとうございます。 情報が不足しており申し訳ありません。 自分が想定しているのは以下のような場合です。 using System.Windows.Forms; namespace WindowsFormsApplication1 { class Class1 : UserControl { private MenuStrip menuStrip; public MenuStrip MenuStrip { get { return menuStrip; } set { menuStrip = value; } } private ToolStripLabel toolStripLabel; public ToolStripLabel ToolStripLabel { get { return toolStripLabel; } set { toolStripLabel = value; } } public Class1() { //UserControlにMenuStripを貼り付け //MenuStripにToolStripLabelを貼り付け } } } ユーザーコントロールで複数のコントロールを貼り付けたクラス(自作クラスA)を 自作クラスBのデザイナ側で変更できるかを知りたいのですが、可能でしょうか。 お手数をお掛けいたしますが、宜しくお願いいたします。

関連するQ&A