3
Visio 창에서 단추 집합으로 자체 도구 모음을 만들어야합니다. 다음 코드는 툴바 (작동)를 생성하고, 버튼을 만들고 (작동), Click 이벤트 핸들러를 할당합니다.CommandBarButton 여러 단추에 대한 이벤트 클릭
vsoCommandBar = vsoCommandBars.Add("MyCommandBat", Office.MsoBarPosition.msoBarTop, false, true);
var vsoButtonX1 = (Office.CommandBarButton)vsoCommandBar.Controls.Add(
Office.MsoControlType.msoControlButton, 1, 2, 1, false);
vsoButtonX1.Caption = "Test1";
vsoButtonX1.Tag = "";
vsoButtonX1.Click += GlobalEvents.btnTestClick;
var vsoButtonX2 = (Office.CommandBarButton)vsoCommandBar.Controls.Add(
Office.MsoControlType.msoControlButton, 1, 2, 2, false);
vsoButtonX2.Caption = "Test2";
vsoButtonX2.Tag = "";
vsoButtonX2.Click += GlobalEvents.btnTest2Click;
처리기는 간단하지만 다르다 (물론).
public void btnTestClick(Office.CommandBarButton vsoButton, ref bool cancelDefault)
{
MessageBox.Show("btnTestClick!");
}
public void btnTest2Click(Office.CommandBarButton vsoButton, ref bool cancelDefault)
{
MessageBox.Show("btnTest2Click!");
}
아무 버튼이나 클릭하면 "btnTestClick!" "btnTest2Click!"으로 "OK"대화 상자를 누른 후. 두 버튼 중 하나에.
또한, 나는이 줄을 건너 뛸 경우 : "btnTestClick"나는 하나의 대화 상자가 나타납니다
vsoButtonX2.Click += GlobalEvents.btnTest2Click;
을 어떤 단추든지에.
적어도 명령 모음에는 클릭 프로세서가 하나만있는 것 같습니다. 그것은 사실입니까?!
추신 : 물론, "vsoButton"매개 변수와 태그를 사용하여 wht 버튼을 감지 할 수 있지만 다른 이벤트 핸들러를 사용하는 것이 더 편리해 보입니다. 가능합니다.