【发布时间】:2013-07-26 03:27:15
【问题描述】:
我一直在 Windows 7 上的 Visual Studio 2010 pro 中使用 .Net 4.0 试用 ILNumerics 3.2.1.0 的社区版本,并通过文档我成功获得了一个 Windows 窗体项目来显示图表,使用代码下面。
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 的设计器视图,白色背景上的蓝色圆圈。我没有收到任何错误消息。我错过了一些明显的东西吗?或者有没有人有如何让图表在 VSTO 中显示的解决方案?
更新
感谢 Philliproso 指出 IsDesignMode() 方法。正如在各个地方指出的那样,包括这个问题,Detecting design mode from a Control's constructor,以下方法并不理想,但对我来说,它提供了一个快速修复,让我可以评估 ILNumerics。
public static bool IsDesignMode() {
if (System.Windows.Forms.Application.ExecutablePath.IndexOf("devenv.exe", StringComparison.OrdinalIgnoreCase) > -1)
{
return true;
}
return false;
}
【问题讨论】:
-
你是这样让它在 VSTO 中运行的吗?只是好奇它的表现如何?
-
是的,控件在 VSTO 中正确显示,虽然速度很慢。不知道这是控件还是它在 VSTO 中运行的事实。我才刚刚开始评估 ILNumerics,还处于早期阶段。
-
它可能切换到 GDI 渲染。我也无法在我的机器上运行 OpenGL。它是一台笔记本电脑,仅使用板载英特尔软件仿真器。不过可能与 ILNumerics 无关。谢谢!
标签: c# vsto ilnumerics