c#Invalidate()和Refresh()区别是什么?

都是使图面无效并导致重绘呀,它们的区别是什么呢?privatevoidbutton2_Click(objectsender,EventArgse){//pictureBo... 都是使图面无效并导致重绘呀,它们的区别是什么呢?
private void button2_Click(object sender, EventArgs e)
{
//pictureBox1.Invalidate();
//pictureBox1.Refresh();
g.FIllRectangle()
}
分别用这两句做测试发现,Invalidate不会画出矩形,而Refresh能画出矩形,为何呀?
难道Invalidate是丢给线程去执行而Refresh不丢给线程执行?
展开
 我来答
百度网友a5eb3e1
推荐于2017-09-18 · TA获得超过4448个赞
知道大有可为答主
回答量:3486
采纳率:60%
帮助的人:2648万
展开全部
MSDN上的解释:

Invalidate 方法
使控件的特定区域无效并向控件发送绘制消息。

Refresh 方法
强制控件使其工作区无效并立即重绘自己和任何子控件。

前者可能只是发出重绘消息,并不立即重绘。
更多追问追答
追问
追问字数限制,看我问题补充
追答
那么,前者可能只是发出重绘消息,并不立即重绘,而是等待系统选择合适的时机再重绘。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式