c# 控件的paint事件陷入死循环 下面一段代码,count的值会一直加,原因是什么
privatevoidlabel1_Paint(objectsender,PaintEventArgse){label1.Text=count.ToStr...
private void label1_Paint(object sender, PaintEventArgs e)
{
label1.Text = count.ToString();
count = count + 1;
}
private void label1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
// g.SmoothingMode = SmoothingMode.AntiAlias;
Pen p = new Pen(Color.Black, 0.5f);
SolidBrush b = new SolidBrush(Color.Red);
label1.Text = count.ToString();
count = count + 1;
}
粘贴错了,把下面代码段代码删掉
private void label1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
// g.SmoothingMode = SmoothingMode.AntiAlias;
Pen p = new Pen(Color.Black, 0.5f);
SolidBrush b = new SolidBrush(Color.Red);
label1.Text = count.ToString();
count = count + 1;
} 展开
{
label1.Text = count.ToString();
count = count + 1;
}
private void label1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
// g.SmoothingMode = SmoothingMode.AntiAlias;
Pen p = new Pen(Color.Black, 0.5f);
SolidBrush b = new SolidBrush(Color.Red);
label1.Text = count.ToString();
count = count + 1;
}
粘贴错了,把下面代码段代码删掉
private void label1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
// g.SmoothingMode = SmoothingMode.AntiAlias;
Pen p = new Pen(Color.Black, 0.5f);
SolidBrush b = new SolidBrush(Color.Red);
label1.Text = count.ToString();
count = count + 1;
} 展开
4个回答
展开全部
别把事件函数写两遍,而且在处理函数里面不能无节制的再次出现能触发这事件的代码
错误应该是不能在label1_Paint的事件里给label1.Text = count.ToString();赋值,不然text值变了会重复触发Paint事件
错误应该是不能在label1_Paint的事件里给label1.Text = count.ToString();赋值,不然text值变了会重复触发Paint事件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
count = count + 1;
this.label1.Paint -= new System.Windows.Forms.PaintEventHandler(this.label1_Paint);
这样就可以了。
this.label1.Paint -= new System.Windows.Forms.PaintEventHandler(this.label1_Paint);
这样就可以了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为什么要在Paint的响应事件中去更新组件里的值呢?
Paint事件里主要是graphics的操作。你的方法...
Paint事件里主要是graphics的操作。你的方法...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询