プロが教える店舗&オフィスのセキュリティ対策術

お世話になっております。

Visual Studioを使用してプログラムを実施しております。

MenuStripクラスを継承した自作クラスAをFormに張り付けて、
自作クラスBを作成しました。

Visual Studio上で、自作クラスBを開き、自作クラスAのプロパティ「Items」を使用して
メニューアイテムの設定を変更しようとしているのですが、「Items」の設定が、自作クラスB
のデザイナに反映されず困っております。。。

MenuStripを継承したクラスの場合、設定されているメニューアイテムの設定は
変更できないのでしょうか。

A 回答 (3件)

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



参考URL:http://www.kanazawa-net.ne.jp/~pmansato/net/net_ …
    • good
    • 0

ん~ 簡単にはいかないと思いますよ



UserControl内に配置したメニューを フォームデザイナ側で編集したいとなると
UserControlクラスに カスタムデザイナを実装しなければいけないようです

MSDNのチュートリアル
「Visual Studio のデザイン時機能を活用した Windows フォーム コントロールの作成 」
を参考にして見ましょう

参考URL:http://msdn.microsoft.com/ja-jp/library/35ea88wb …
    • good
    • 0
この回答へのお礼

簡単にはいかないのですね。。。

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

お礼日時:2014/09/01 16:26

現象の再現できる 最小の手順とコードの提示をしたほうがいいと思います



1) メニュークラスの追加
// MenuStripを継承したクラス
// クラスの追加で class.csを追加
// using の Windows.Formsを追加
using System.Windows.Forms;

namespace CSTest001
{
  // [public]と[: MenuStrip]を追加
  public class TestMenuStrip : MenuStrip
  {
  }
}

2) このプロジェクトをビルド

3) デザイナでフォームに貼り付け

4) 追加したTestMenuStrip1のプロパティ Itemsを変更

といった手順だと希望通りの動きのように思えます …

この回答への補足

ご回答ありがとうございます。

情報が不足しており申し訳ありません。

自分が想定しているのは以下のような場合です。


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のデザイナ側で変更できるかを知りたいのですが、可能でしょうか。

お手数をお掛けいたしますが、宜しくお願いいたします。

補足日時:2014/09/01 10:04
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!