日期:2014-05-17  浏览次数:21087 次

如何让窗体的Paint事件只执行一次
如题

------解决方案--------------------
定义bool全局变量,如果已执行一次则设为true,事件中判断变量如果为true,则不执行。
------解决方案--------------------
办法较笨
xxxx.Paint += xxxx_Paint1;
private void xxxx_Paint1(object sender, PaintEventArgs e)
{
//只触发一次
MessageBox.Show (DateTime.Now.ToString());
 xxxx.Paint -= xxxx_Paint1;
}
------解决方案--------------------
x.Paint += new PaintEventHandler(delegate(object sender,PaintEventArgs args){
Graphics gg = args.Graphics;

});


------解决方案--------------------
直接 -= 掉,或是委托 直接 Remove掉 卸载注册就好了
------解决方案--------------------
一句话,如果只想让他执行一次,你就不应该用Paint事件。