一道简单的C#选择题

你正在创建一个背景显示一个图像的自定义控件。你注意到,当控件改变尺寸并重新绘制时,背景图像出现闪烁现象。你为了去移除这种闪烁现象,你应该通过下面那三段代码实现?(每个答案... 你正在创建一个背景显示一个图像的自定义控件。你注意到,当控件改变尺寸并重新绘制时,
背景图像出现闪烁现象。你为了去移除这种闪烁现象,你应该通过下面那三段代码实现?(每
个答案代表解决方案的一部分)
A. this.SetStyle(ontrolStyles.OptimizedDoubleBuffer, true);
B. this.SetStyle(ontrolStyles.AllPaintingInWmPaint, true);
C. this.SetStyle(ontrolStyles.UserPaint, true);
D. this.SetStyle(ontrolStyles.ResizeRedraw, true);
E. this.SetStyle(ontrolStyles.Opaque, true);
展开
 我来答
HAL9000PLUS
2009-06-21 · TA获得超过1279个赞
知道小有建树答主
回答量:663
采纳率:0%
帮助的人:712万
展开全部
好像是A

B也可以,但题目说是背景上绘的图,因此就可以排除了。
C必要而不充分。
D这个一定要设,但是正是这个造成了闪烁。
E本来也是可以“减少"的, 但是题目里说了图在背景上,因此这个也不对了。

OptimizedDoubleBuffer 如果为 true,则该控件首先在缓冲区中绘制,而不是直接绘制到屏幕上,这样可以减少闪烁。如果将此属性设置为 true,则还应当将 AllPaintingInWmPaint 设置为 true。

AllPaintingInWmPaint 如果为 true,控件将忽略 WM_ERASEBKGND 窗口消息以减少闪烁。仅当 UserPaint 位设置为 true 时,才应当应用该样式。

UserPaint 如果为 true,控件将自行绘制,而不是通过操作系统来绘制。如果为 false,将不会引发 Paint 事件。此样式仅适用于派生自 Control 的类。

ResizeRedraw 如果为 true,则在调整控件大小时重绘控件。

Opaque 如果为 true,则控件被绘制为不透明的,不绘制背景。
PengLi588
2009-06-22 · TA获得超过180个赞
知道答主
回答量:167
采纳率:0%
帮助的人:81万
展开全部
正确的答案是:A B D

A:OptimizedDoubleBuffer:缓存图像,用来减少闪烁
B:AllPaintingInWmPaint:强行忽略WM_ERASEBKGND消息,减少闪烁
C:UserPaint:控件自行运行Paint事件
D:ResizeRedraw:控件大小改变后,强制刷新(默认不刷新)
E:Opaque:不显示背景
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
atalentsoft
2009-06-21 · TA获得超过4989个赞
知道小有建树答主
回答量:690
采纳率:0%
帮助的人:0
展开全部
A B D

A:OptimizedDoubleBuffer:缓存图像,用来减少闪烁
B:AllPaintingInWmPaint:强行忽略WM_ERASEBKGND消息,减少闪烁
C:UserPaint:控件自行运行Paint事件
D:ResizeRedraw:控件大小改变后,强制刷新(默认不刷新)
E:Opaque:不显示背景
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友94f02eb
2009-06-22 · TA获得超过8612个赞
知道大有可为答主
回答量:7955
采纳率:74%
帮助的人:4396万
展开全部
答案是 ABD 没错。

2楼的说明,很清楚了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
懂得谦虚673
2009-06-21 · 超过25用户采纳过TA的回答
知道答主
回答量:112
采纳率:0%
帮助的人:0
展开全部
A
开启双缓冲,可以防止画面闪烁
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式