Visio 绘图控件:关闭模式对话框后某些事件没有响应

问题描述

我在主窗体中有 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 (将#修改为@)