Как отобразить все содержимое ZedGraphControl с одинаковым масштабом в обоих направлениях? - PullRequest
0 голосов
/ 20 октября 2019

Я рисую несколько полигонов в ZedGraphControl, и я хочу реализовать что-то вроде команды увеличения-расширения в инструментах САПР, которая изменяет масштаб для отображения всех объектов. Я пытался установить минимальную и максимальную осей, но он устанавливает шкалы для каждого направления независимо.

Есть ли способ как-то заблокировать эти шкалы?

Это мой код:

private void button2_Click(object sender, EventArgs e)
{
    const double width = 2.0;
    const double height = 3.0;

    zg1.GraphPane.GraphObjList.Add(new ZedGraph.PolyObj
    {
        Points = new[]
        {
            new ZedGraph.PointD(0, 0),
            new ZedGraph.PointD(width, 0),
            new ZedGraph.PointD(width, height),
            new ZedGraph.PointD(0, height),
            new ZedGraph.PointD(0, 0)
        },
        Fill = new ZedGraph.Fill(Color.SkyBlue, Color.AliceBlue, 90.0f),
        ZOrder = ZedGraph.ZOrder.E_BehindCurves
    });
    zg1.GraphPane.XAxis.Scale.Min = 0;
    zg1.GraphPane.XAxis.Scale.Max = width;

    zg1.GraphPane.YAxis.Scale.Min = 0;
    zg1.GraphPane.YAxis.Scale.Max = height;
    zg1.Invalidate();

}

, и вот результат:

enter image description here

...