2012-10-20 3 views
2

폼을 통해 인스턴스를 추가하지 않고 MenuStrip을 동적으로 만들 수 있습니까? 동적 인 MenuStrip (양식을 건드리지 않고)

내가했던

..

//Create menu 
MenuStrip menu = new MenuStrip(); 
menu.name = "MainMenu"; 

// Create a Menu Item 
ToolStripMenuItem file = new ToolStripMenuItem("File"); 

//Add item to Menu 
menu.Items.Add(file); 

//Click event 
file.Click += new System.EventHandler(this.FileItemClick); 

private void FileItemClick(object sender, EventArgs e) 
{ 
    MessageBox.Show("File clicked"); 
} 

나는 .. 나는이 같은으로 폼에 추가해야

this.MainMenuStrip = menu; 
Controls.Add(menu); 

을 알고 있지만 이미 폼에 드래그 인스턴스없이 상기는 불가능합니다. 100 % 동적으로 MenuStrip을 만들 수 있습니까? 또한, SubMenus?

감사합니다.

답변

0

예, 가능합니다. 사실 폼으로 드래그하는 모든 컨트롤은 디자이너가 코드로 생성합니다. 필요한 코드를 정확히 확인하려면 MenuStrip 컨트롤을 폼으로 끌어온 다음 메모장에서 디자이너 파일을 열고 & 코드를 붙여 넣습니다. 양식이 Form1.cs이라면 디자이너 파일은 Form1.designer.cs입니다.

디자이너 파일은 시각적으로 양식을 작성했을 때 Properties 도구 창에서 선택한 값으로 양식의 모든 컨트롤을 만들고 초기화하는 코드입니다.

관련 문제