3

devExpressPopupMenuにアイテムを追加する方法を見つけようとしています。私は以下を試しました:

        manager = new BarManager();
        listBoxMenu = new PopupMenu(manager);

        listBoxMenu.ItemLinks.Add(manager.Items["Remove item"]);
        listBoxMenu.ItemLinks.Add(manager.Items["Clear items"]);

ここhttp://documentation.devexpress.com/#WindowsForms/CustomDocument5472(下部)に示されているように、アイテムが初期化されていないというエラーが表示されます。

アイテムを追加する適切な方法は何ですか?どこにも見つかりません。

編集、これが私がそれをした方法です:

        //Creates the popup menu to be used for the keywords listbox
        manager = new BarManager();
        listBoxMenu = new PopupMenu(manager);

        item = new BarButtonItem(manager, "Copy");
        item2 = new BarButtonItem(manager, "Clear Item");
        item3 = new BarButtonItem(manager, "Clear All Items");

        listBoxMenu.ItemLinks.Add(item);
        listBoxMenu.ItemLinks.Add(item2);
        listBoxMenu.ItemLinks.Add(item3);

        //Adds the seperator on the second item
        item2.Links[0].BeginGroup = true;

        manager.ItemClick += manager_ItemClick;
4

2 に答える 2

6

このコード スニペットを確認し、同じ方法で実装してください。

//ポップアップの作成とオブジェクトの管理

private DevExpress.XtraBars.BarManager barManager1;
        private DevExpress.XtraBars.PopupMenu buttonContextMenu;
        DevExpress.XtraBars.BarButtonItem menuButtonExport = new DevExpress.XtraBars.BarButtonItem();
        DevExpress.XtraBars.BarButtonItem menuButtonSave = new DevExpress.XtraBars.BarButtonItem();

        public TestForm8()
        {
            InitializeComponent();
            barManager1 = new BarManager();
            this.barManager1.Form = this;
            buttonContextMenu = new DevExpress.XtraBars.PopupMenu(barManager1);                 
            this.buttonContextMenu.Name = "subViewContextMenu";            


            menuButtonExport.Caption = "E&xport";
            menuButtonExport.Id = 1;
            menuButtonExport.Name = "menuButtonExport";
            menuButtonExport.ItemClick += new ItemClickEventHandler(menuButtonExport_ItemClick);

            menuButtonSave.Caption = "S&ave";
            menuButtonSave.Id = 2;
            menuButtonSave.Name = "menuButtonSave";
            menuButtonSave.ItemClick += new ItemClickEventHandler(menuButtonSave_ItemClick);
//add items to barmanager
            this.barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] {
            menuButtonExport,
            menuButtonSave
            });
//create links between bar items and popup
            buttonContextMenu.ItemLinks.Add(barManager1.Items["menuButtonExport"]);
            buttonContextMenu.ItemLinks.Add(barManager1.Items["menuButtonSave"]);
//finally set the context menu to the control or use the showpopup method on right click of control
            barManager1.SetPopupContextMenu(btnInsert, buttonContextMenu);
}

ポップアップを含めるためのステップごとの参照:

方法: ポップアップ メニューを作成する
方法: コンテナー バー項目 (メニュー) に項目を追加する
ポップアップメニューを作成する
BarManager.SetPopupContextMenu メソッド

于 2012-04-16T14:50:53.740 に答える
1

あなたのマネージャーは空です:

manager = new BarManager();

リンク先の例では、BarManager既に作成されている を使用していbarManager1ます。これは、デザイナーで作成され、アイテムが入力されていると想定しています。

BarManager ヘルプ ページから:

BarManager がフォーム/ユーザー コントロールに追加された後、バー マネージャーのカスタマイズ ウィンドウまたはそのデザイナーを使用して、フォーム上でコンテキスト メニューを使用してバーおよびバー コマンドを作成できます。詳細については、ツールバーのカスタマイズ セクションを参照してください。

于 2012-04-16T14:24:00.393 に答える