2012-04-06 9 views
2

私はこの回答が以前に投稿されていると確信しています。私はちょうど正しい検索文字列を考えていないと思うので、私を許してください。c#contextMenuStripアイテムを実行時に追加する方法は?

私が持っているものは、自分のダイヤラのトレイアイコンに割り当てられたコンテキストメニューストリップです。アイデアは、ユーザーがさまざまな番号を設定し、メニューからユーザー定義番号を選択してダイヤルを開始することです。

だから、メニューはPresetsSetup、& Exitでポップアップ表示されます。プリセットメニューで、ユーザーが定義した番号を列挙した新しいツリーを開くようにします。私はまた、アプリケーションがロードされるたびにxmlファイルからこの値を入力します。

私の問題は、サブメニュー項目を動的に入力して機能を与える方法がわかりません。

どのように私は起動時にプリセット - >(userNumber1, usernumber2, userNumber3)にユーザー定義番号を追加し、クリックしたときにdial()関数を呼び出しますか?


リストに追加する方法を見つけました...私は今、それを求めて愚かに感じます。そのことを知りたい他の人のために、リスト項目には名前が付けられています。だから、

presetsToolStripMenuItem.DropDownItems.Add(string text) 

ないで移動するための名前を呼ぶことに項目を追加するためにname属性が「presetsToolStripMenuItem」である

を私の場合イム。私は今、新しく追加された機能にイベントを割り当てる方法を見つけようとしています。私は見つけた

presetsToolStripMenuItem.DropDownItems.Add(string text, image, eventargs) 

私はこれと苦労しています。多分、私はやめて後でそれに戻る必要があります。おそらく誰かがこの回線を使ってfunction();と呼ぶ例を私に提供できたら、私は最も感謝しています。

+0

WPFまたはWindowsフォーム:

ToolStripMenuItem.DropdownItems.Add("string name", image, eventargs); 

ので、私のコードは次のようになりますか? – Polity

+0

これはWindowsフォームアプリケーションです。 – eatumup

答えて

4

興味のある方は、実行時に関数を呼び出す機能を持つコンテキストメニュー項目を追加する方法を考えました。

前述のように、親カテゴリにサブメニュー項目を追加するには、parent.nameを使用します。だから私の場合、プリセットメニュー項目名は "presetsToolStripMenuItem"でした。

私は3引数のメソッドを使用しました。

presetsToolStripMenuItem.DropDownItems.Add("added2", null, disp); 

void disp(object sender, EventArgs e) 
    { 
     MessageBox.Show("It works!"); 
    } 
+1

このリストにユーザのアクションが入力された場合、重複を避けるためにアイテムを追加する前に、 'ToolStripMenuItem.DropdownItems.Clear()'でリストを準備したいでしょう。 – Wayne

関連する問題