Я использую математическую библиотеку ILNumerics для создания двухмерных графиков. Для отображения данных я использую класс ILPlotCube. Я хотел бы отключить поведение EventHandler по умолчанию для событий MouseDoubleClick, потому что я хотел бы реализовать свое собственное. Это возможно?
Вот еще контекст:
Обработчик событий ILPlotCube по умолчанию для событий MouseDoubleClick сбрасывает представление до значений по умолчанию. Обычно это работает довольно хорошо, но, похоже, возникает проблема с очень маленькими значениями x и y. Когда я добавляю линейный график с очень маленькими значениями y, пределы графиков автоматически устанавливаются на YMax=0,525 и YMin=-0,525. К сожалению, это не то, чего я хочу. Итак, я сам установил значения после добавления linePlot, и график выглядит именно так, как я хотел бы. Отлично... но: если я дважды щелкну по сцене, она снова использует значения по умолчанию (0,525). Тесто! Вот почему я хотел бы отключить или перезаписать это поведение.
Есть идеи?
private void ilPanel1_Load(object sender, EventArgs e)
{
var scene = new ILScene();
//data with very small "y-values"
ILArray<float> line1 = new float[,] {
{0.0f, 1.0f, 2.0f },
{2.042166e-08f, 2.070141e-08f , 2.042166e-08f} };
var linePlot1 = new ILLinePlot(line1.T,
lineColor: Color.Blue,
lineWidth: 3,
markerStyle: MarkerStyle.Dot);
//Create Plot Cube
var plotCube = new ILPlotCube();
plotCube.Add(linePlot1);
//plotCube.Plots.Limits.YMax is now 0.525
//plotCube.Plots.Limits.YMin is now -0.525
//manually set the value
float maxY = 0.0f;
using (ILScope.Enter())
{
var aPos = linePlot1.Line.Positions.Storage["1;:"];
maxY = ILMath.max(aPos).FirstOrDefault();
}
plotCube.Plots.Limits.YMax = maxY;
plotCube.Plots.Limits.YMin = 0.0f;
var plot = scene.Add(plotCube);
ilPanel1.Scene = scene;
}
Спасибо,
Тим