0

我在 excel 的上下文菜单上有一个 CommandBarPopup,其中包含三个 CommandBarButtons,其中一个按钮打开一个网页,另外两个打开一个自定义任务窗格。

如果我使包含托管 WPF 用户控件的元素主机的自定义任务窗格可见,那么我添加的任何 CommandBarButtons 都将停止工作。即使我关闭了自定义任务窗格,它仍然无法工作。

如果我对自定义任务窗格容器和 Web 浏览器执行相同操作,它似乎工作正常。

这是我们正在使用的代码

private void InitializeComponent()
    {
        this.elementHost1 = new System.Windows.Forms.Integration.ElementHost();
        this.myView = new MyView();
        this.SuspendLayout();
        // 
        // elementHost1
        // 
        this.elementHost1.Dock = System.Windows.Forms.DockStyle.Fill;
        this.elementHost1.Location = new System.Drawing.Point(0, 0);
        this.elementHost1.Name = "elementHost1";
        this.elementHost1.Size = new System.Drawing.Size(780, 560);
        this.elementHost1.TabIndex = 0;
        this.elementHost1.Text = "elementHost1";
        this.elementHost1.Child = this.myView;
        // 
        // MyTaskPane
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.Controls.Add(this.elementHost1);
        this.Name = "MyTaskPane";
        this.Size = new System.Drawing.Size(780, 560);
        this.ResumeLayout(false);

    }
4

1 回答 1

0

所以答案是,一旦变量范围结束,CommandBarButtons 就会被释放,这很令人惊讶,因为我认为它们会附加到 excel 应用程序对象上。还查看了 excel 命令栏,我可以看到那里的按钮,但是单击它们会导致单击事件未触发。无论如何,我将它们存储在一个类变量中并且它再次工作。

于 2013-03-13T15:02:41.727 回答