OnPaint没有立即重画的问题 在Form中添加一个PictureBox和button。设置flag=flase,当点击button时,flag=truePaint的方法onPaint中如果flag==true,则将picturebox的bgColor设为黑色。问题来了,当点击button后,将不会看到bg的变化,直到鼠标移动位置,这是为什么?怎么能实时看到变化呢?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 调用控件的update()和Refresh()方法。 当点击button后你需要强制窗体刷新才行。 picturebox 冒看见有flag,picturebox.image倒是有,但是是只读的。你咋样设成false和true啊 flag是我自己定义的,只不过是一个判定改变的条件。update和refresh能不能讲的具体点 private void OnPaint(object sender, PaintEventArgs e) { if (flag) { this.pictureBox1.BackColor = Color.Black; flag = false; } } private void button1_Click(object sender, EventArgs e) { flag = true; } private void button1_Click(object sender, EventArgs e) { flag = true; OnPaint() ; } private void OnPaint() { if (flag) { this.pictureBox1.BackColor = Color.Black; flag = false; } } this.pictureBox1.Updatethis.pictureBox1.Refresh 功能是实现了,可上面只是我举的简单例子,事实上我是需要不断重画来完成功能的。最好是系统的Paint方法自动触发。谢谢哦。那个强制窗体刷新怎么做呢 private void OnPaint(object sender, PaintEventArgs e) { if (flag) { this.pictureBox1.BackColor = Color.Black; this.pictureBox1.Update(); this.pictureBox1.Refresh(); flag = false; } }如此貌似没反应,还是需要离开button才行。 重写PictureBox.BackColor属性.在set的时候强制刷新 问题解决了,是用Refresh方法完成,注意位置 private void OnPaint(object sender, PaintEventArgs e) { if (flag) { this.pictureBox1.BackColor = Color.Black; flag = false; } } private void button1_Click(object sender, EventArgs e) { flag = true; this.pictureBox1.Refresh(); } SqlConnection方法取变值 并赋值给变量 c#中用文件流记录信息,能记忆信息录入时的时间吗? C# 鼠标选定屏幕任意区域并画出彩色边框 生成xsd之后对应的cs沒有東西 在visual studio里,如何编程来获得一个项目的输出路径 CS 登陆 BS 呢 水晶报表中图形字体设置的问题。 如何用程序实现 - 将网页上的PDF文件下载到本地? 高手进 50分寻求一个关于socket文件传输的问题,解决即刻结帖,谢谢大家 asp.net服务器控件添加事件点击按钮位置变了 关于动态加载用户自定义控件 money类型的数据读取显示的问题。
{
if (flag)
{
this.pictureBox1.BackColor = Color.Black;
flag = false;
}
} private void button1_Click(object sender, EventArgs e)
{
flag = true;
}
{
flag = true;
OnPaint() ;
}
private void OnPaint()
{
if (flag)
{
this.pictureBox1.BackColor = Color.Black;
flag = false;
} }
this.pictureBox1.Refresh
private void OnPaint(object sender, PaintEventArgs e)
{
if (flag)
{
this.pictureBox1.BackColor = Color.Black;
this.pictureBox1.Update();
this.pictureBox1.Refresh();
flag = false;
}
}
如此貌似没反应,还是需要离开button才行。
在set的时候强制刷新
{
if (flag)
{
this.pictureBox1.BackColor = Color.Black;
flag = false;
}
} private void button1_Click(object sender, EventArgs e)
{
flag = true;
this.pictureBox1.Refresh();
}