C# winform GDI+编程问题,求高手!
我在一个panel里面直接画了很多图形,打开整个图形需要3秒左右,这个不是最大的问题,最大的问题是,当鼠标移动到这个panel上面的那些菜单栏,菜单栏下拉之后,由于下拉列表伸到了panel里面,因此调用了panel的paint方法,进行了整个panel的重绘,因此造成了用户想点击菜单时,每次都卡在那好一会才能动,即等panel重绘完了才能动,像假死一样。
不知道各位高手有没有遇到过类似的问题,在线求解决方法,先谢谢了!
protected override void OnPaint(PaintEventArgs e)
{
Graphics g = e.Graphics;
PaintMyInfo(g);
base.OnPaint(e);
}
我想设置一个全局变量bool类型的,控制其只重绘一次,这样虽然解决了菜单下拉的问题,但是菜单下拉缩上去之后,菜单那快就是白色的背景,我原先画的panel就像缺了一块一样,同样从其他窗口切换过来这个程序的窗口,panel里面的东东也会全部变白,这意味着不调用PaintMyInfo了,烦恼啊~
protected override void OnPaint(PaintEventArgs e)
{
if (m_isRepaintMyInfo)
{
Graphics g = e.Graphics;
PaintMyInfo(g);
m_isRepaintMyInfo=false;
}
base.OnPaint(e);
}