ControlStyles 枚举
.NET Framework 4
 

指定控件的样式和行为。

此枚举有一个 FlagsAttribute 特性,通过该特性可使其成员值按位组合。

命名空间:  System.Windows.Forms
程序集:  System.Windows.Forms(在 System.Windows.Forms.dll 中)

语法
C# 
[FlagsAttribute]
public enum ControlStyles

成员
成员名称 说明
ContainerControl 如果为 true,则控件是类似容器的控件。
UserPaint 如果为 true,控件将自行绘制,而不是通过操作系统来绘制。 如果为 false,将不会引发 Paint 事件。 此样式仅适用于派生自 Control 的类。
Opaque 如果为 true,则控件被绘制为不透明的,不绘制背景。
ResizeRedraw 如果为 true,则在调整控件大小时重绘控件。
FixedWidth 如果为 true,则自动缩放时,控件具有固定宽度。 例如,如果布局操作尝试重新缩放控件以适应新的Font,则控件的 Width 将保持不变。
FixedHeight 如果为 true,则自动缩放时,控件具有固定高度。 例如,如果布局操作尝试重新缩放控件以适应新的Font,则控件的 Height 将保持不变。
StandardClick 如果为 true,则控件将实现标准 Click 行为。
Selectable 如果为 true,则控件可以接收焦点。
UserMouse 如果为 true,则控件完成自己的鼠标处理,因而鼠标事件不由操作系统处理。
SupportsTransparentBackColor 如果为 true,控件接受 alpha 组件小于 255 的 BackColor 以模拟透明。 仅在 UserPaint 位设置为 true并且父控件派生自 Control 时才模拟透明。
StandardDoubleClick 如果为 true,则控件将实现标准 DoubleClick 行为。 如果 StandardClick 位未设置为 true,则忽略此样式。
AllPaintingInWmPaint 如果为 true,控件将忽略 WM_ERASEBKGND 窗口消息以减少闪烁。 仅当 UserPaint 位设置为 true 时,才应当应用该样式。
CacheText 如果为 true,控件保留文本的副本,而不是在每次需要时从 Handle 获取文本副本。 此样式默认为false。 此行为提高了性能,但使保持文本同步变得困难。
EnableNotifyMessage 如果为 true,则为发送到控件的 WndProc 的每条消息调用 OnNotifyMessage 方法。 此样式默认为false。 EnableNotifyMessage 在部分可信的情况下不工作。
DoubleBuffer 如果为 true,则绘制在缓冲区中进行,完成后将结果输出到屏幕上。 双重缓冲区可防止由控件重绘引起的闪烁。 如果将 DoubleBuffer 设置为 true,则还应当将 UserPaint 和 AllPaintingInWmPaint 设置为true。
OptimizedDoubleBuffer 如果为 true,则该控件首先在缓冲区中绘制,而不是直接绘制到屏幕上,这样可以减少闪烁。 如果将此属性设置为 true,则还应当将 AllPaintingInWmPaint 设置为 true。
UseTextForAccessibility 指定该控件的 Text 属性的值,如果已设置,则可确定该控件的默认 Active Accessibility 名称和快捷键。

备注

控件在各种属性和方法中使用此枚举指定功能。 控件可以通过调用 SetStyle 方法并传入适当的 ControlStyles 位以及设置该位的 Boolean 值来启用样式。 例如,下面的一行 Visual Basic 代码将会启用双重缓冲。

 myControl.SetStyle(UserPaint Or AllPaintingInWmPaint Or DoubleBuffer, True)

如果将 AllPaintingInWmPaint 位设置为 true,则将忽略 WM_ERASEBKGND 窗口消息,而直接从 WM_PAINT 窗口消息调用OnPaintBackground 和 OnPaint 方法。 这通常可减少闪烁,除非其他控件将 WM_ERASEBKGND 窗口消息发送到该控件。 可以发送 WM_ERASEBKGRND 窗口消息以达到与 SupportsTransparentBackColor 相似的假透明效果;例如,具有平面外观的 ToolBar 就采用这种方法。

若要完全启用双缓冲,可以将 OptimizedDoubleBuffer 和 AllPaintingInWmPaint 位设置为 true。 但是,启用双缓冲的首选方法是将该控件的DoubleBuffered 属性设置为 true,这会产生同样的结果。

如果 SupportsTransparentBackColor 位设置为 true,并且 BackColor 被设置为 alpha 组件小于 255 的颜色,则 OnPaintBackground 将通过请求其父控件绘制背景来模拟透明。 但这不是真正的透明。

注意

如果在控件与其父控件之间还有另一个控件,则当前控件不会显示中间的控件。

当 UserMouse 位设置为 true 时,仍将调用以下方法:Control.OnMouseDown、Control.OnMouseUp、Control.OnMouseEnter、Control.OnMouseMove、Control.OnMouseHover、Control.OnMouseLeave 和 Control.OnMouseWheel。

单击控件时,如果 StandardClick 位设置为 true,则 Control.OnClick 方法被调用,它将引发 Control.Click 事件。 双击控件并且StandardClick 和 StandardDoubleClick 位都设置为 true 时,会将此次单击传递给 DoubleClick 事件。 随后,Control.OnDoubleClick 方法被调用,此方法将引发 Control.DoubleClick 事件。 然而,无论 StandardClick 和 StandardDoubleClick 位为何值,控件都可直接调用 OnClick或 OnDoubleClick。 有关控件单击和双击行为的更多信息,请参见 Control.Click 和 Control.DoubleClick 这两个主题。

当已设置 UseTextForAccessibility 位和该控件的 Text 属性值时,该控件的 Text 属性值可确定控件的默认的 Active Accessibility 名称和快捷键。 否则,将改用前面的 Label 控件的文本。 此样式为默认设置。 某些内置控件类型(如 TextBox 和 ComboBox)会重置此样式,因此 Active Accessibility 不会使用那些控件的 Text 属性。

对继承者的说明

如果该控件不支持 Click 或 DoubleClick 事件,那么从标准 Windows 窗体控件继承并将 StandardClick 或 StandardDoubleClick 位值更改为true 会导致意外的行为,或者根本不会产生任何效果。

示例

下面的示例演示如何通过 StyleChanged 事件使用 ControlStyles。

C#
// Set the 'FixedHeight' and 'FixedWidth' styles to false.
private void MyForm_Load(object sender, EventArgs e)
{this.SetStyle(ControlStyles.FixedHeight, false);this.SetStyle(ControlStyles.FixedWidth, false);
}private void RegisterEventHandler()
{this.StyleChanged += new EventHandler(MyForm_StyleChanged);
}// Handle the 'StyleChanged' event for the 'Form'.
private void MyForm_StyleChanged(object sender, EventArgs e)
{MessageBox.Show("The style releated to the 'Form' has been changed");
}

转载于:https://www.cnblogs.com/1175429393wljblog/p/5684090.html

C# 控件双缓冲控制 ControlStyles 枚举详解相关推荐

  1. ActiveX控件打包、签名、嵌入详解

    ActiveX控件打包.签名.嵌入详解 前言 在我们的一个项目中,使用到了大华网络监控摄像头枪机,网络上下载了其ActiveX插件,但是发现其所提供的类库没有打包处理.这就导致我们每次给用户安装的时候 ...

  2. python 窗口控件变大变小_详解:用Python+AutoIt实现界面工具开发过程

    前言: 今天为大家带来的内容是,详解:Python+AutoIt实现界面工具开发过程!(部分代码用图片方式呈现出来,方便各位观看与收藏) AutoIt简述 AutoIt一个使用类似BASIC脚本语言的 ...

  3. Android控件知识点-RecyclerView(全网最详解)

    背景:笔者在开发Android 蓝牙通信,需要搜索蓝牙设备并且动态显示,这个时候就需要选取适合的相关视图控件了,最后兜兜转转还是觉得RecyclerView好用一些,本人也是在开发的过程中,搜索了很多 ...

  4. vb mysql加载控件_VB如何连接ACCESS数据库详解

    首先有一点要注意,数据库的使用与我们以往所使用的文本文件不同.例如我们使用文本文件,来记录各种有用的数据.那么大致有以下几步: 读取文件 -- 格式化数据 -- 关闭文件 -- 使用数据 如果数据量较 ...

  5. html中字段是日期控件,jQuery日历插件datepicker用法详解

    jQuery是一款不可多得的非常优秀的javascript脚本开发库,而基于其上的很多插件也是非常规范和卓越的,如果错过这番美景真是太可惜了,比如datepicker这个插件. 一般MIS系统的前端, ...

  6. Unity 之 UGUI Dropdown下拉控件展开方向控制

    Unity 之 UGUI Dropdown下拉控件展开方向控制 有个需要控制下拉控件展开方向的需求,不得探索一下这个下拉方向是由那些属性控制的. 其实我们正常使用的时候你可以发现,下拉控件默认向下展开 ...

  7. Buffer(缓冲/字节容器)详解

    本文来说下Buffer(缓冲/字节容器)详解 文章目录 概述 Buffer API ByteBuf - Netty 字节数据的容器 ByteBuf如何工作 ByteBuf 使用模式 HEAP BUFF ...

  8. java控制excel_利用Java控制EXCEL实例详解

    利用Java控制EXCEL实例详解发布者:本站     时间:2020-05-06 15:05:43 使用Windows操作系统的朋友对Excel(电子表格)一定不会陌生,但是要使用Java语言来操纵 ...

  9. Django--filter()-字段查找(双下划线的使用详解)

    Django--filter()-字段查找(双下划线的使用详解) 在了解django中的字段查找的同时,让我们先熟悉一下比较符: 大于--gt-(greater than) 小于--lt-(less ...

最新文章

  1. 广州线下活动 | 精益运维与 DevOps 最佳实践
  2. 关于Horizon 7 Agent与远程桌面(mstsc)兼容性问题解决办法
  3. Linux LXC基本配置选项
  4. Winform 系统调优
  5. Hessian使用记录
  6. JUC锁-Semaphore(八)
  7. 2020年了,再不会Https就老了
  8. 舞动的桥 阿里云首个百万IOPS云盘的背后
  9. Effective前端5:减少前端代码耦合
  10. android简单小项目实例_自学(系统学)Python了那么久, 想就业? 几个简单小项目让你通过面试!...
  11. 【转】Linux zip解压/压缩并指定目录
  12. 液压系统管路流速推荐表_液压系统管道选择标准
  13. python小波分解相关
  14. Excel成神之道-005-用countif统计客人第几次进店
  15. 【音乐】基于matlab演奏《天空之城》【含Matlab源码 1874期】
  16. 【经典】产品人面试中的一些软回答~~
  17. 微信H5 用户调整微信字体 导致使用rem的页面错乱
  18. html5 audio样式修改,HTML5中 audio的样式设置
  19. pillow进行图像处理
  20. 带你薅“云”羊毛:定个小目标,先薅他一年

热门文章

  1. cryptojs vue 使用_VueJs里利用CryptoJs实现加密及解密
  2. 计算机文档设置,电脑这样设置快速的共享文件、分享文档!
  3. 美国计算机工程专业,美国计算机工程专业哪些学校比较好
  4. Postgresql中的hybrid hash join(无状态机讲解)
  5. stl中copy()函数_std :: rotate_copy()函数以及C ++ STL中的示例
  6. 散列碰撞_散列中的碰撞和碰撞解决技术
  7. probuffer java_Protocol Buffer的使用
  8. 汇编语言-017(SCASW 、STRUCT 、STRUCT_ALLPOINTS 、STRUCT_ALIGN 、SYSTEMTIME、UNION 、 STRUCTTEST )
  9. 韩国的计算机科学家,韩国科学技术院用普通相机为AR/VR复刻真实世界物理对象...
  10. c 调用openoffice word转pdf_批量 Word 转 PDF 方法