Я экспериментировал с версией сообщества ILNumerics 3.2.1.0 с .Net 4.0 в Visual Studio 2010 pro в Windows 7, и, просматривая документацию, я успешно получил проект формы 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 (). Как указано в разных местах, включая этот вопрос, Определение режима проектирования из конструктора элемента управления, следующий метод не идеален, но для меня он предоставил быстрое решение, позволяющее мне оценить ILNumerics.
public static bool IsDesignMode() {
if (System.Windows.Forms.Application.ExecutablePath.IndexOf("devenv.exe", StringComparison.OrdinalIgnoreCase) > -1)
{
return true;
}
return false;
}