首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ILNumerics和(VSTO)

ILNumerics和(VSTO)
EN

Stack Overflow用户
提问于 2013-07-24 11:02:34
回答 1查看 224关注 0票数 1

我在VisualStudio2010Pro的VisualStudio2010Pro中体验了社区版的ILNumerics 3.2.1.0和VisualStudio2010Pro在Windows7上的使用,并且通过阅读文档,我成功地获得了一个Windows项目来显示图表,使用下面的代码。

代码语言:javascript
复制
public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }

    private void ilPanel1_Load(object sender, EventArgs e)
    {
        ILSurface mySurface = new ILSurface(ILSpecialData.sincf(100, 200));
        ILPlotCube myCube = new ILPlotCube(twoDMode: false);
        myCube.Add(mySurface);
        ilPanel1.Scene.Add(myCube);
    }
}

如果我尝试完全相同的代码,但是在VSTO Excel 2010应用程序中,表单中显示的所有内容都是ILPanel的designer视图,白色背景上的蓝色圆圈。我没有收到任何错误信息。我漏掉了什么明显的东西吗?或者,有没有人有一个解决方案,如何使图表显示在VSTO?

更新

感谢Philliproso指出了IsDesignMode()方法。正如在许多地方指出的,包括这个问题,Detecting design mode from a Control's constructor,下面的方法并不理想,但对于我来说,是提供了一个快速修复,允许我评估ILNumerics。

代码语言:javascript
复制
 public static bool IsDesignMode() {
        if (System.Windows.Forms.Application.ExecutablePath.IndexOf("devenv.exe", StringComparison.OrdinalIgnoreCase) > -1)
        {
            return true;
        }
        return false;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-24 11:40:24

这与这里的问题相同:

Ilnumerics Ilpanel not activating when compiled in a winform into a dll when loaded into matlab in-a-winform-in-a when loa

使用VSTO作为ILNumerics的主机,可以让面板假定它是在设计器中加载的。我们目前正在收集可能的解决办法和解决办法。一种解决方案可能是在ILNumerics的设置中引入一个标志:

代码语言:javascript
复制
Hosted [default: false]

您的情况需要启用标志。在宿主模式下,可以在运行时检查常见设计器的黑名单,并将其与当前的条目程序集进行比较。还有其他建议吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17832101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档