我一直在 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;
}