1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using System.Drawing;
- namespace IControls_FireManager
- {
- // 메뉴 팝업 공통 루틴은 여기에서 구현한다
- public static class _Contextmenustrip
- {
- // 메뉴 팝업 생성
- // 예시
- //private void uiButton2_Click(object sender, EventArgs e)
- //{
- // // 팝업 메뉴 생성
- // _Contextmenustrip.Create(uiButton2, "a;b;c", Menustrip_ItemClicked);
- //}
- //public void Menustrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
- //{
- // if (e.ClickedItem.Text == "삭제")
- // {
- // ;
- // }
- //}
- // 일반 컨트롤 (버튼,라벨) 위에 ContextMenuStrip 생성
- public static void Create(Control SelectedControl, string MenuItems, ToolStripItemClickedEventHandler pToolStripItemClickedEventHandler)
- {
- // 동적 생성
- ContextMenuStrip contextmenustrip = new System.Windows.Forms.ContextMenuStrip();
- // 이벤트 핸들러 등록
- contextmenustrip.ItemClicked += new ToolStripItemClickedEventHandler(pToolStripItemClickedEventHandler);
- // 아이템 추출
- string[] Items = _Convert.String_to_ArrayString(MenuItems);
- // 아이템 추가
- foreach (string item in Items)
- {
- if (item == _Text.ContextStripSeparator)
- {
- ToolStripSeparator Separator = new ToolStripSeparator();
- contextmenustrip.Items.Add(Separator);
- }
- else
- contextmenustrip.Items.Add(item);
- }
- // 위치 지정 (호출되는 기반의 위치)
- Point Selected = new Point();
- // 컨트롤의 오른쪽하단에 위치한다
- Selected.X = SelectedControl.Width;
- Selected.Y = SelectedControl.Height;
-
- // 보여주기
- contextmenustrip.Show(SelectedControl, Selected);
- }
- // 트리 노드 (트리뷰) 위에 ContextMenuStrip 생성
- public static void Create(Control SelectedControl, Point SelectedControlLocation, string MenuItems, ToolStripItemClickedEventHandler pToolStripItemClickedEventHandler)
- {
- // 동적 생성
- ContextMenuStrip contextmenustrip = new System.Windows.Forms.ContextMenuStrip();
- // 이벤트 핸들러 등록
- contextmenustrip.ItemClicked += new ToolStripItemClickedEventHandler(pToolStripItemClickedEventHandler);
- // 아이템 추출
- string[] Items = _Convert.String_to_ArrayString(MenuItems);
- // 아이템 추가
- foreach (string item in Items)
- {
- if (item == _Text.ContextStripSeparator)
- {
- ToolStripSeparator Separator = new ToolStripSeparator();
- contextmenustrip.Items.Add(Separator);
- }
- else
- contextmenustrip.Items.Add(item);
- }
- // 위치 지정 (호출되는 기반의 위치)
- // Point Selected = new Point();
- // 컨트롤의 오른쪽하단에 위치한다
- // Selected.X = SelectedControl.Width;
- // Selected.Y = SelectedControl.Height;
-
- // 보여주기
- contextmenustrip.Show(SelectedControl, SelectedControlLocation);
- }
- }
- }
|