Form에 MenuItem 및 Context 추가 예제
1. Visual
Studio .Net을 실행하여 C#, 윈도우 응용 프로그램을 실행 한 후 프로젝트 제목을 menuandcontext라고
주자…
2. 폼이
나타나면 아래 화면 처럼 메뉴를 만들어 보자.
그림, 폼 만들기
Form1.cs[d25-1]
다음은 MDI.cs(MDI 폼) 하나 만들자. 만든 후 Form의 속성에서
isMdiContainer를 true로 하자. File 메뉴와 Window 메뉴는 아래 처럼 만들자. 특히 Window 메뉴의 Open
Windows 메뉴는 MdiList 속성을 true로 해야 한다.(그래야 Open MDI 자식 창들의 목록을 볼 수
있다)
[그림, 메뉴만들기, d25-2]
마지막으로 MDI 폼안에 들어갈 임의의 폼을 하나
만들자.(MDI_In.cs)
[그림, MDI안의 폼만들기, d25-3]
3. 다음과
같이 소스 코딩을 하자.
……………
private int btnCount=1;
private
void add_Click(object sender, System.EventArgs e)
{
//MessageBox.Show("y");
Button
button1 = new Button();
btnCount++;
button1.Location
= new System.Drawing.Point(10, 20*btnCount);
button1.Name
= "button" + btnCount;
button1.Size
= new System.Drawing.Size(50, 20);
button1.Text
= "추가버튼"+btnCount;
Controls.Add(button1);
}
private
void delete_Click(object sender, System.EventArgs e)
{
}
private
void Form1_Load(object sender, System.EventArgs e)
{
//----
마우스 오른쪽 버튼 클릭시 동작하게 하기 위해
ContextMenu
contextMenu = new ContextMenu();
MenuItem
add = new MenuItem("추가");
MenuItem
delete = new MenuItem("삭제");
add.Click
+= new EventHandler(add_Click);
delete.Click
+= new EventHandler(delete_Click);
contextMenu.MenuItems.Add(add);
contextMenu.MenuItems.Add(delete);
button1.ContextMenu
=
contextMenu;
}
private
void menuItem5_Click(object sender, System.EventArgs e)
{
Application.Exit();
}
//Red
Click
private
void menuItem2_Click(object sender, System.EventArgs e)
{
Graphics
g = CreateGraphics();
g.Clear(System.Drawing.Color.Red);
g.Dispose();
}
//Blue
private
void menuItem3_Click(object sender, System.EventArgs e)
{
Graphics
g = CreateGraphics();
g.Clear(System.Drawing.Color.Blue);
g.Dispose();
}
다음은 MDI.cs 파일의 폼로드 이벤트 부분이다.
private void MDI_Load(object sender, System.EventArgs
e)
{
MDI_in
mdi = new MDI_in();
mdi.MdiParent
= this;
mdi.Show();
}
//MDI
Form에서 Close시 현재 활성 화된자식 윈도우를 닫는다.
private
void menuItem3_Click(object sender, System.EventArgs e)
{
MDI_in
child = (MDI_in)this.ActiveMdiChild;
if
(child != null)
{
child.Close();
}
}
//New
Click
private
void menuItem2_Click(object sender, System.EventArgs e)
{
MDI_in
mdi = new MDI_in();
mdi.MdiParent
= this;
mdi.Show();
}
//Window
메뉴의 Tile 클릭시
private
void menuItemTile_Click(object sender, System.EventArgs e)
{
this.LayoutMdi(MdiLayout.TileHorizontal);
}
//Window
메뉴의 Cascade 클릭시
private
void menuItem8_Click(object sender, System.EventArgs e)
{
this.LayoutMdi(MdiLayout.Cascade);
}
다음은 MDI_In.cs파일은 만들기만 하면 되며 본 예제에서는 별도의 코드가
없다.
4. 실행결과
[개강확정강좌]오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr)
[주간]
[11/4]Spring3.X, MyBatis, Hibernate실무과정
[11/6]SQL초보에서실전전문가까지
[평일야간]
[11/1]C#,ASP.NET마스터
[11/5]iPhone 하이브리드 앱 개발 실무과정
[11/7]JAVA&WEB프레임워크실무과정
[11/8]Spring3.X, MyBatis, Hibernate실무과정
[주말]
[11/9]C#,ASP.NET마스터
[11/9]JAVA&WEB프레임워크실무과정
[11/9]안드로이드개발자과정
[11/9]웹퍼블리싱 마스터
[11/9]Spring3.X, MyBatis, Hibernate실무과정
[주간]
[11/4]Spring3.X, MyBatis, Hibernate실무과정
[11/6]SQL초보에서실전전문가까지
[평일야간]
[11/1]C#,ASP.NET마스터
[11/5]iPhone 하이브리드 앱 개발 실무과정
[11/7]JAVA&WEB프레임워크실무과정
[11/8]Spring3.X, MyBatis, Hibernate실무과정
[주말]
[11/9]C#,ASP.NET마스터
[11/9]JAVA&WEB프레임워크실무과정
[11/9]안드로이드개발자과정
[11/9]웹퍼블리싱 마스터
[11/9]Spring3.X, MyBatis, Hibernate실무과정
댓글 없음:
댓글 쓰기