본문으로 바로가기

C# 과 VB.NET Context Menu 사용법

category 개발언어/C# 2017. 9. 28. 11:37

C# 에서 Context 메뉴 사용


    1. 먼저 Context Menu 가 클릭되었을 때 동작할 이벤트 핸들러를 코드를 추가 한다
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      void CutAction(object sender, EventArgs e)
      {
                richTextBox1.Cut();
      }
       
       void CopyAction(object sender, EventArgs e)
       {
                Clipboard.SetData(DataFormats.Rtf, richTextBox1.SelectedRtf);
       }
       
       void PasteAction(object sender, EventArgs e)
        {
                if (Clipboard.ContainsText(TextDataFormat.Rtf)) {
                    richTextBox1.SelectedRtf = Clipboard.GetData(DataFormats.Rtf).ToString();
                }
                richTextBox1.Text = Clipboard.GetText();
       }
    2. 마우스 우측 버튼 클릭시 컨트롤에 Context Menu가 추가되도록 메뉴와 이벤트 핸를러를 매핑한다
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      private void richTextBox2_MouseDown(object sender, MouseEventArgs e)
      {
               if (e.Button == MouseButtons.Right)
               {
                      ContextMenu contextMenu = new System.Windows.Forms.ContextMenu();
                      MenuItem menuItem = new MenuItem("Cut");
                      menuItem.Click += new EventHandler(CutAction);//이벤트 처리 핸들러
                      contextMenu.MenuItems.Add(menuItem);
                      menuItem = new MenuItem("Copy");
                      menuItem.Click += new EventHandler(CopyAction);//이벤트 처리 핸들러
                      contextMenu.MenuItems.Add(menuItem);
                      menuItem = new MenuItem("Paste");
                      menuItem.Click += new EventHandler(PasteAction);//이벤트 처리 핸들러
                      contextMenu.MenuItems.Add(menuItem);
                      richTextBox1.ContextMenu = contextMenu;
               }
      }

VB.NET 에서 Context 메뉴 사용


ContextMenuStrip 구성 요소를 양식에 추가 한 다음 “복사”, “잘라 내기”및 “붙여 넣기”와 같은 항목을이 ContextMenuStrip에 추가한다.


이벤트를 처리하는 코드를 추가 한다. 이벤트 핸들러느 메뉴를 더블클릭하면 자동 생성된다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub CutToolStripMenuItem_Click(sender As Object, e As EventArgs) _
Handles CutToolStripMenuItem.Click
   RichTextBox1.Cut()
End Sub
 
Private Sub CopyToolStripMenuItem_Click(sender As Object, e As EventArgs) _
Handles CopyToolStripMenuItem.Click
   RichTextBox1.Copy()
End Sub
 
Private Sub PasteToolStripMenuItem_Click(sender As Object, e As EventArgs) _
Handles PasteToolStripMenuItem.Click
   RichTextBox1.Paste()
End Sub