본문 바로가기

Windows/WindowsForm

[ Windos Form ] 메뉴 추가하기

반응형

Windows Forms에서 메뉴를 추가하려면 MenuStrip 컨트롤을 사용합니다. MenuStrip은 Windows Forms 응용 프로그램에서 상단 메뉴를 구현하는 기본적인 방법입니다. 다음은 메뉴를 추가하는 방법과 주요 단계입니다.


 

1. Visual Studio에서 메뉴 추가

  1. MenuStrip 추가
    • Visual Studio의 도구 상자에서 MenuStrip을 선택하고 폼에 드래그 앤 드롭합니다.
    • MenuStrip 컨트롤이 폼 상단에 추가되고, 메뉴 항목을 구성할 수 있는 디자인 영역이 표시됩니다.
  2. 메뉴 항목 추가
    • MenuStrip 위에 "File", "Edit", "Help"와 같은 항목을 입력합니다.
    • 항목을 클릭하면 하위 메뉴를 추가할 수 있는 공간이 나타나며, 여기서 하위 메뉴(예: "Open", "Save", "Exit")를 추가합니다.
  3. 이벤트 핸들러 연결
    • 각 메뉴 항목을 선택하고 속성 창에서 Click 이벤트를 두 번 클릭하면 이벤트 핸들러가 생성됩니다.
    • 생성된 핸들러에서 메뉴 항목 클릭 시 실행할 동작을 구현합니다.

 

2. C# 코드로 메뉴 추가

디자인 없이 코드로 메뉴를 추가하려면 다음과 같이 작성합니다.

using System;
using System.Windows.Forms;

public class MainForm : Form
{
    public MainForm()
    {
        // MenuStrip 생성
        MenuStrip menuStrip = new MenuStrip();

        // "File" 메뉴 항목 생성
        ToolStripMenuItem fileMenu = new ToolStripMenuItem("File");

        // "File" 메뉴의 하위 항목 생성
        ToolStripMenuItem openItem = new ToolStripMenuItem("Open");
        ToolStripMenuItem saveItem = new ToolStripMenuItem("Save");
        ToolStripMenuItem exitItem = new ToolStripMenuItem("Exit");

        // 이벤트 핸들러 연결
        openItem.Click += (sender, e) => MessageBox.Show("Open clicked");
        saveItem.Click += (sender, e) => MessageBox.Show("Save clicked");
        exitItem.Click += (sender, e) => Application.Exit();

        // 하위 항목을 "File" 메뉴에 추가
        fileMenu.DropDownItems.Add(openItem);
        fileMenu.DropDownItems.Add(saveItem);
        fileMenu.DropDownItems.Add(new ToolStripSeparator()); // 구분선 추가
        fileMenu.DropDownItems.Add(exitItem);

        // "File" 메뉴를 MenuStrip에 추가
        menuStrip.Items.Add(fileMenu);

        // MenuStrip을 폼에 추가
        this.MainMenuStrip = menuStrip;
        this.Controls.Add(menuStrip);

        // 폼 설정
        this.Text = "Menu Example";
        this.StartPosition = FormStartPosition.CenterScreen;
        this.Size = new System.Drawing.Size(400, 300);
    }

    [STAThread]
    public static void Main()
    {
        Application.EnableVisualStyles();
        Application.Run(new MainForm());
    }
}

 

3. 주요 구성 요소 설명

  • MenuStrip: 메뉴를 담는 컨테이너.
  • ToolStripMenuItem: 개별 메뉴 항목.
  • DropDownItems: 하위 메뉴 항목 컬렉션.
  • ToolStripSeparator: 메뉴 내 구분선.

 

4. 추가 기능 구현

  1. 단축키 추가
    • ToolStripMenuItem.ShortcutKeys 속성을 설정하여 단축키를 정의합니다.
   openItem.ShortcutKeys = Keys.Control | Keys.O;
  1. 이미지 추가
    • ToolStripMenuItem.Image 속성을 설정하여 메뉴 항목에 이미지를 추가합니다.
   openItem.Image = Image.FromFile("path_to_icon.png");
  1. 동적 메뉴 생성
    • 메뉴 항목을 동적으로 생성하여 특정 조건에서 메뉴 구성을 변경할 수 있습니다.
   for (int i = 1; i <= 5; i++)
   {
       ToolStripMenuItem dynamicItem = new ToolStripMenuItem($"Item {i}");
       dynamicItem.Click += (sender, e) => MessageBox.Show($"{dynamicItem.Text} clicked");
       fileMenu.DropDownItems.Add(dynamicItem);
   }

이 방식으로 Windows Forms에서 메뉴를 손쉽게 구성하고 동작을 구현할 수 있습니다. GUI를 디자인하거나, 코드로 직접 메뉴를 생성하는 방법 중 선택하여 사용할 수 있습니다.

반응형