Я создаю winform .NET приложение.Он должен показывать графику в формате баров.Я использую Picturebox, потому что это единственный способ, которым я знаю, как это сделать (если кто-то знает лучший способ, пожалуйста, скажите мне).
Я динамически добавляю линии (полосы графика)с этим кодом:
int currentX = this.lineAmmount * (lineWidth + lineMargin);
pictureBox.CreateGraphics().DrawLine(new Pen(color, lineWidth), //Pen
currentX, pictureBox.Height, //Starting (x, y)
currentX, pictureBox.Height - Convert.ToInt32(value * graphicsScale)); //Ending (x, y)
this.lineAmmount++;
Это работает просто отлично.
Теперь я хочу, чтобы pictureBox имел горизонтальную полосу прокрутки.Так что я положил pictureBox в панель с автопрокруткой = true.Теперь то, что мне нужно, чтобы динамически увеличить ширину pictureBox.Поэтому я добавил этот код после добавления каждой строки:
pictureBox.Width = Math.Max(this.lineAmmount * (lineWidth + lineMargin), 205);
(205 - минимальная ширина, которую я хочу).
Этот код также работает отлично.Ширина увеличена.В первых строках Math.Max всегда возвращает 205, после нескольких строк начинает возвращать значение orher.С этого момента ВСЕ ЛИНИИ исчезают !!!
Пожалуйста, помогите !!
Заранее спасибо и извините за мой плохой английский,
Диего