1

プログラミングでツール ストリップにアイテムを追加してきましたが、問題はチェック済みプロパティを追加する必要があることです。その方法がわからない。コードは次のとおりです。

toolStripMenuItemAudioSampleRate.DropDownItems.Add("8 kHz", null, new EventHandler(mnuAudioSamplingRate_Click));
toolStripMenuItemAudioSampleRate.Checked = (samplingRate == 8000);//Checks if the there is no vid device

toolStripMenuItemAudioSampleRate ではなくcheckedプロパティを追加したので、うまくいかないことがわかりました8 kHz。このプロパティを動的に追加されたアイテムに追加しようとしています。

前もって感謝します。

4

4 に答える 4

5

Add(String, Image, EventHandler)ヘルパー メソッドを使用してドロップダウン項目を作成する代わりに、独自の を作成しToolStripMenuItem、それをチェック済みに設定してから、リストに追加します。

ToolStripMenuItem item = new ToolStripMenuItem("8 kHz", null, new EventHandler(mnuAudioSamplingRate_Click));
item.Checked = (samplingRate == 8000);
toolStripMenuItemAudioSampleRate.DropDownItems.Add(item);
于 2011-02-04T19:16:40.693 に答える
2

このコードをより手の込んだものにするために、常に冗長な を削除し、オブジェクト初期化子を使用することをお勧めしますnew EventHandler

toolStripMenuItemAudioSampleRate.DropDownItems.Add (
    new ToolStripMenuItem ("8 kHz", null, mnuAudioSamplingRate_Click) {
        Checked = (samplingRate == 8000)
    });
于 2011-02-04T19:24:18.220 に答える
0
toolStripMenuItemAudioSampleRate.DropDownItems["8 kHz"].Checked = (samplingRate == 8000)

それはあなたが望むことをするかもしれません。この醜い構文を使用する必要がないように、これらの動的に追加された項目を配列のどこかに保持しておくことをお勧めします。

于 2011-02-04T19:17:30.607 に答える
-1

Decorator(GOF デザイン パターン) http://www.exciton.cs.rice.edu/JavaResources/DesignPatterns/book/hires/pat4dfso.htmを作成できます。

于 2011-02-04T19:16:05.893 に答える