2009-07-01 4 views
8

양식에 일련의 확인란이 있습니다. 컨텍스트 메뉴와 양식 자체에서 선택할 수 있기를 원합니다. 컨텍스트 메뉴는 응용 프로그램의 시스템 트레이 아이콘에 연결됩니다.C# WinForms 컨텍스트 메뉴에 체크 박스 추가

제 질문은 컨텍스트 메뉴를이 확인란에 연결할 수 있습니까? 또는 컨텍스트 메뉴에 확인란을 추가 할 수 있습니까? 심지어 조합?!

답변

15

메뉴 항목의 용도로 Checked 속성 (MenuItem.Checked, ToolStripMenuItem.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); 
에 그들을 배치하여 표준뿐만 아니라 사용자 지정 컨트롤을 호스팅 할 수 있습니다
관련 문제