社区
C#
帖子详情
C#自定义控件时 用了onpaint事件重绘 ,但是却没有实时
有时想起
2014-04-08 10:38:16
应用控件时 发现控件在改变他的属性时并没有实时的重绘 只能每次都要写this.refresh();才能重绘 。。只有这样做吗?
...全文
491
4
打赏
收藏
C#自定义控件时 用了onpaint事件重绘 ,但是却没有实时
应用控件时 发现控件在改变他的属性时并没有实时的重绘 只能每次都要写this.refresh();才能重绘 。。只有这样做吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
有时想起
2014-04-08
打赏
举报
回复
引用 1 楼 sj490790083 的回复:
可以在属性的set访问器里加 this.Invalidate();
this.Invalidate();和this.refresh();有区别吗 我试了下 两个都行
sj490790083
2014-04-08
打赏
举报
回复
可以在属性的set访问器里加 this.Invalidate();
zhenghao1977
2014-04-08
打赏
举报
回复
1楼
C#
自定义控件
-消除闪烁
C#
自定义控件
-消除闪烁
开始学习制作
自定义控件
的
时
候,
自定义控件
在
重绘
时
总是发生闪烁。这是因为直接向屏幕绘图导致的。自己绘制控件的外观首先要重载On
Paint
事件
处理函数,该函数的一个简单示例如下:view plaincopy to clipboardprint?protected override void On
Paint
(
Paint
EventArgs pe) { pe.Graphics.DrawImage(...); } protected overrid
c#
自定义控件
绘制错乱的原因On
Paint
在
自定义控件
的过程中需要重新绘制,遇到窗体拖动到屏幕外或控件滚动到显示区域外的情况下会有现实错乱的情况,虽说第一想法是觉得控件的Location变了,不再是0,0但是一直找不到原因. 表现形式如下: 后来看了下代码,当
时
的代码如下: //画背景 e.Graphics.Clear(BackColor); ...
C#
自定义控件
,自定义属性,自定义
事件
C#
自定义控件
,自定义属性,自定义
事件
C#
为控件或
自定义控件
添加自定义属性,自定义
事件
1.创建一个
自定义控件
UserControl1,如图1所示: 图1 2.代码如下: // 此类用于实现绘制一条水平分隔线, 按F5运行一次,再拖动当前控件到Form窗体即可看到 // 自定义属性:DrawLineColor和自定义
事件
ThisLine_Selected public partial class UserControl1 : UserC
C#
重绘
On
Paint
()
事件
调用机制
与绘制有关的函数
Paint
() On
Paint
() Invalidate() 一个控件应该什么
时
候绘制主要有两个 : 一个是 系统来确定 这个控件需要绘制 比如 最小化后在最大化 那么此
时
系统会发出WM_
PAINT
消息来告知控件 你需要
重绘
了 另一个就是 人为的调用this.Invalidate()或者this.Invalidate(Rectangle)来自己触发一次
重绘
对于第一种 那是系统
C#
110,535
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章