为什么Invalidate收到的ClipRectangle和发送的不一样
来源:互联网 发布:win7旗舰版优化教程 编辑:程序博客网 时间:2024/05/17 07:47
最近在研究c#局部刷新重绘的功能,来提高用户体验,但是在OnPaint事件中接收到的e.ClipRectangle和我在其它方法中调用mainForm.Invalidate(cutOutRect, false);时传递的大小不一致,经过一番排查才发现,是Windows底层做了处理!!!!
我们来看图1:
上面是调用mainForm.Invalidate(cutOutRect, false);前输出的信息;
下面是OnPaint事件中接收到的e.ClipRectangle;
传递的大小是负数,收到的都变正数了。
再来看图2:
上面是调用mainForm.Invalidate(cutRectRect, false);前输出的信息;
下面是OnPaint事件中接收到的e.ClipRectangle;
传递的大小超出了窗体,被自动裁剪了。 1 0
- 为什么Invalidate收到的ClipRectangle和发送的不一样
- windows mobile的ClipRectangle使用心得!
- 享购网如果我收到的享购网商品和我期望的享购网商品不一样怎么办?
- 区分无效刷新区域的两种方式——ClipRectangle和随机颜色
- session.invalidate()和invalidate()的作用
- Invalidate以及Invalidate(false)和Invalidate(true)的区别
- Invalidate以及Invalidate(false)和Invalidate(true)的区别
- Invalidate以及Invalidate(false)和Invalidate(true)的区别
- Invalidate以及Invalidate(false)和Invalidate(true)的区别
- 工作总结---为什么想的和做的总是不一样
- 为什么layer的mask属性和photoshop的mask不一样
- 为什么栈和堆的生长方向不一样
- 为什么df和lsblk显示的内存不一样大
- requests.get为什么得到的内容和查看源文件不一样?
- 收到了CSDN发送过来的礼物
- Invalidate和UpdateWindow的区别
- Invalidate和UpdateWindow的区别
- UpdateWindow和Invalidate的区别
- Android面试笔记总结(三)
- net-snmp的移植,是基于静态编译的
- 第五章知识结构汇总
- 【Java.NIO】Selector,及SelectionKey
- 初学总结2
- 为什么Invalidate收到的ClipRectangle和发送的不一样
- Python学习:使用boost c++嵌入python,获取异常信息输出到字符串
- vmware虚拟机与主机的三种通信方式
- QQ欢乐斗地主心得体会 (三):高倍场攻略
- 实习篇---补牙二
- 为Android HorizontalListView添加Scrollbar
- GridView--且解决与ScrollView共用的冲突问题
- java java.util.Random类的介绍
- c++回调实现