【发布时间】:2010-09-27 13:41:09
【问题描述】:
我正在制作一个 winform .NET 应用程序。它必须以条形格式显示图形。我使用图片框是因为它是我知道的唯一方法(如果有人知道更好的方法,请告诉我)。
我正在使用此代码动态添加线条(图形的条形):
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++;
效果非常好。
我现在想要的是有一个水平滚动条的图片框。所以我将图片框放入带有 autoscroll = true 的面板中。现在我需要它来动态增加图片框的宽度。所以我在添加每一行后添加了这段代码:
pictureBox.Width = Math.Max(this.lineAmmount * (lineWidth + lineMargin), 205);
(205 是我想要的最小宽度)。
该代码也可以很好地工作。宽度增加。第一行 Math.Max 总是返回 205,几行之后它开始返回 orher 值。从那一刻起,所有的线条都消失了!!!
请帮忙!!
在此先感谢,并为我的英语不好感到抱歉,
迭戈
【问题讨论】:
标签: c# .net winforms graphics picturebox