VSTO 向图表添加控件

问题描述 投票:0回答:1

我想向图表添加用户控件。

我不会用

ch.Shapes.AddFormControl

因为我想添加一个用户控件。

我在 2013 年使用 VS 2012 .NET 4.5 和 Excell 插件。

我尝试使用以下代码:

Microsoft.Office.Interop.Excel.Chart ch = (Excel.Chart)wb.Sheets[1];
        ch.Activate();
        ch.Select();
        ch.ChartArea.Select();
        ch.Shapes.SelectAll();

        Excel.Range selection = Globals.ThisAddIn.Application.Selection as Excel.Range;
        worksheet.Controls.AddControl(new UserControl2(), selection, "fnis");

Ch 是图表,我想在图表顶部插入 UserControl2。

在上面的代码中,我得到了选择为空的错误。

当然,我已经检查过所有变量都不为空并且有效等

vsto
1个回答
0
投票

这是一个老问题,OP 可能不再需要答案,但为了后代:

您可以通过使用

ControlSite AddControl(Control control, double left, double top, double width, double height, string name);
重载来指定图表位置/大小来解决这个问题,而不必担心选择。

如果所选区域很重要,您可以先验证它是否解析为某些内容,然后使用上面提到的重载作为后备。

© www.soinside.com 2019 - 2024. All rights reserved.