我遇到了面板问题。 我正在使用此代码向面板添加点数:
void panelDraw_Paint(object sender, PaintEventArgs e)
{
if (this.MeasuredValue == null)
return;
var g = e.Graphics;
int x = 0;
foreach (value m in this.MeasuredValue )
{
double percentage = m.MeasuredValue [(int)this.MeetType].GetValueOrDefault() / this.MaxValue * (double)100;
double y = this.Height / (double)100;
double pixels = y * percentage;
g.DrawRectangle(Pens.Green, x++, this.Height - (int)pixels, 1, 1);
g.DrawLine(Pens.GhostWhite, 0, this.Height / 4, panelDraw.Width, this.Height / 4);
g.DrawLine(Pens.GhostWhite, 0, this.Height / 2, panelDraw.Width, this.Height / 2);
g.DrawLine(Pens.GhostWhite, 0, (this.Height / 4) * 3, panelDraw.Width, (this.Height / 4) * 3);
if (x > panelDraw.Width)
{
panelDraw.AutoScroll = true;
}
}
}
我的面板尺寸为230; 218 当x离开边界(大于230)时,我想看到我的观点,但不知何故,autoscroll不起作用.. 我也从一开始就在面板属性中将AutoScroll设置为true,但这也不起作用。
这是我得到的,当x大于我的面板宽度时:
http://i60.tinypic.com/5fp7ur.jpg
当他们超出小组的界限时,我怎么能看到我的观点?
答案 0 :(得分:0)
面板没有显示任何滚动条的原因是它不知道其内容的任何内容。即使它会滚动,视图也不会改变,因为在绘制内容时不考虑滚动位置。
您应该添加另一个具有适当大小的控件并在此控件上绘制,而不是直接绘制到面板上。这将为面板提供必要的滚动提示,您无需手动处理滚动。