C# winform 使用ZedGraph控件做图,使用定时器每0.5S,添加一个点,然后刷新控件。运行时很正常,但是当窗口最小化时,在 this.Graph.GraphPane.AxisChange();这个地方,报错“参数无效”。好奇怪啊,请大家帮忙看看
private void RefreshGraph()
{
if (this.InvokeRequired)
{
this.Invoke(new EventHandler(delegate
{
this.Graph.GraphPane.AxisChange();
this.Graph.Refresh();
}));
}
else
{
this.Graph.GraphPane.AxisChange();
this.Graph.Refresh();
}
}
没什么奇怪的,比如 某个.net的对象,你使用的时候,他自己做了这个判断;而第三方控件,假设不是基于.net对象,而是基于系统对象,自身没有做判定那么就出错了。
具体一下:如gdi+=>gdi,event=>msg等等。
以上仅是猜想,所以这个bug不难解决。
好像没有啥奇怪的吧,最小化界面后有些值就会为0,你这还是画图控件,需要实时更新值,报错正常的。打个比方,用过按键精灵吗?如果想后台操作最多遮挡窗口而不能最小化窗口,原因就是遮挡窗口仍然可以获取图像,但是最小化之后windows就不能获取该界面的截图了