2009-07-01 14 views
8

フォームに一連のチェックボックスがあります。 私はコンテキストメニューとフォーム自体からこれらを選択できるようにしたいと思います。コンテキストメニューは、アプリケーションのシステムトレイアイコンにリンクされています。C#WinFormsコンテキストメニューにチェックボックスを追加

私の質問は、これらのチェックボックスにコンテキストメニューをリンクすることは可能ですか? コンテキストメニューにチェックボックスを追加することもできますか? または組み合わせてもかまいません。

答えて

15

メニュー項目には、この目的で使用できるCheckedプロパティ(、)があります。あなたがContextMenuStripを使用してtrueCheckOnClickプロパティを設定している場合、あなたはそのべきToolStripMenuItemCheckBoxコントロールの同じイベントハンドラにCheckedChangedイベントをフックすることができ、チェックボックスにコンテキストメニュー項目をリンクする可能性について

そのイベントハンドラの内部で、コントロールのCheckedプロパティを同期させて、他の必要なアクションを実行するようにしてください。

1

メニュー項目はチェックボックスのように動作する「チェック済み」プロパティを持っています。メニュー項目をクリックすると、フォーム上の対応するチェックボックスの状態をプログラムで切り替えることができます。

コンテキストメニューの開始イベントを使用して、チェックボックスのチェック状態に基づいてメニュー項目のチェック状態を設定することもできます。

1
//Create the combo box object and set its properties 
    cmbFunctionArea    = new ComboBox(); 
    cmbFunctionArea.Cursor  = System.Windows.Forms.Cursors.Arrow; 
    cmbFunctionArea.DropDownStyle=System.Windows.Forms.ComboBoxStyle.DropDownList; 
    cmbFunctionArea.Dock   = DockStyle.Fill; 
    //Event that will be fired when selected index in the combo box is changed 
    cmbFunctionArea.SelectionChangeCommitted += new EventHandlercmbFunctionArea_SelectedIndexChanged); 
でそれらをラップすることによって、標準的なだけでなく、カスタムコントロールをホストすることができます
関連する問題