问题描述
我在主窗体中有 2 个形状。形状有一个上下文菜单项“虚拟”,它链接到队列标记事件。它使用 ShowDialog() 打开一个模态窗体。当我关闭它时,某些事件没有响应。 右键单击不起作用。如果您反复尝试,形状选择会起作用。 鼠标移动有效。
我正在对模态表单执行 Dispose()。 下面是代码。我正在使用 Visio 2019。但这也会发生在最新的 visio 订阅中。我有 x64 机器。 .net 是 4+
请帮我解决这个问题。
using Visio = Microsoft.Office.Interop.Visio;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Dialog: Form
{
public Dialog()
{
InitializeComponent();
}
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
axDrawingControl1.Src = "";
axDrawingControl1.Document.Application.MarkerEvent += Application_MarkerEvent;
Visio.Shape shape = axDrawingControl1.Document.Application.ActivePage.DrawRectangle(0,1,1);
shape.AddSection((short)Visio.VisSectionIndices.visSectionAction);
shape.AddRow((short)Visio.VisSectionIndices.visSectionAction,(short)Visio.VisRowTags.visTagDefault);
shape.CellsSRC[(short)Visio.VisSectionIndices.visSectionAction,(short)Visio.VisCellIndices.visActionMenu].FormulaU = "\"Dummy\"";
shape.CellsSRC[(short)Visio.VisSectionIndices.visSectionAction,(short)Visio.VisCellIndices.visActionAction].FormulaU = $"QUEUEMARKEREVENT(\"abc\")";
shape = axDrawingControl1.Document.Application.ActivePage.DrawOval(0,(short)Visio.VisCellIndices.visActionAction].FormulaU = $"QUEUEMARKEREVENT(\"def\")";
}
private void Application_MarkerEvent(Visio.Application app,int SequenceNum,string ContextString)
{
Dialog dlg = null;
dlg = new Dialog();
dlg.ShowDialog();
//I close form
dlg.Dispose();
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)