2012-04-06 2 views
2

나는 이것에 대한 대답이 전에 게시되었음을 확신합니다. 내가 올바른 검색 문자열을 생각하지 않고 있다고 생각해서 용서해주십시오.C# 런타임에 contextMenuStrip 항목을 추가하는 방법은 무엇입니까?

내 전화 걸기 트레이 아이콘에 할당 된 컨텍스트 메뉴 스트립이 있습니다. 사용자가 다양한 숫자를 설정하고 메뉴에서 사용자 정의 숫자를 선택하고 다이얼을 시작하는 것이 아이디어입니다.

메뉴가 Presets, Setup, 으로 팝업됩니다. 프리셋 메뉴에서 사용자 정의 번호가 나열된 새 트리를 열었 으면합니다. 또한 응용 프로그램이로드 될 때마다 xml 파일에서이 값을 채우기를 원합니다.

제 문제는 하위 메뉴 항목을 동적으로 채우고 기능을 부여하는 방법을 모르는 것입니다.

그럼 내가 어떻게 사전 정의 -> (userNumber1, usernumber2, userNumber3)에 사용자 정의 번호를 추가하고 클릭하면 dial() 함수를 호출할까요?


그래서 목록에 추가하는 방법을 찾았습니다. 나는 지금 그것을 묻는 것으로 어리 석습니다. 그 중 하나를 알고 싶어하는 다른 사람들을 위해, 목록 항목에는 이름이 주어집니다. 이동하는 이름을

presetsToolStripMenuItem.DropDownItems.Add(string text) 

없음 전화

그래서 여기에 항목을 추가 할 이름 속성이 "presetsToolStripMenuItem"내 경우 임. 나는 새로 추가 된 기능에 이벤트를 할당하는 방법을 알아 내려고 노력 중이다. 내가 찾은

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

나는 이걸로 고민하고있다. 어쩌면 나중에 그만하고 다시 돌아올 필요가있을 것입니다. 아마도 누군가이 라인을 사용하여 function();으로 전화하는 예를 제공 할 수 있다면 나는 가장 감사 할 것입니다. 내가 함수를 호출 할 수있는 기능 실행시 컨텍스트 메뉴 항목을 추가하는 솔루션을 파악 관심있는 사람들을위한

+0

WPF 또는 Windows 형태를? – Polity

+0

Windows Forms 응용 프로그램입니다. – eatumup

답변

4

. 앞서 언급 한 바와 같이

는하는 부모 범주에 하위 메뉴 항목을 추가 parent.name를 사용합니다. 그래서 내 경우에는 사전 설정 메뉴 항목의 이름은 "presetsToolStripMenuItem"

내가 3 인자 방법을 사용하는 기능을 추가했다.

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

그래서 내 코드는 다음과 같습니다

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

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

사용자의 작업에 따라이 목록이 채워지면 중복을 방지하기 위해 항목을 추가하기 전에'ToolStripMenuItem.DropdownItems.Clear()'를 사용하여 목록을 작성해야합니다. – Wayne

관련 문제