简单问题,达人进 this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true); 函数的参数为什么要用"|", 第一个参数是什么意思? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint相当于 00100000000000000 | 00000000000000010 | 00000100000000000 = 00100100000000010;看看ControlStyles的定义 因为这个是按位组合的,|表示这几个标志位都为true;DoubleBuffer是使用双缓存,即绘制的内容先写道一个缓存中,再输出到屏幕上,好处是可以避免刷新时闪烁等问题 ControlStyles应该是有flagsattributes的标识的一个枚举,加上这个意思是这些既DoubleBuffer ,又UserPaint,还AllPaintingInWmPaint这三个合在一起,你用或运算一下,出来的结果应该是00100100000000010,加上flags特性的枚举,clr会把这个拆分成三个,也就是你写出来的那三个,然后分别对应每一个这里面,任何一种组合都不可能和某一个枚举重复,也就是只要是组合,clr都能把它认为是组合,而不可能和某一个枚举重复,认为是那某一个枚举 学习,程序员日记 [url]http://www.ideaext.com[url] 欢迎交流 "|"是一个运算符 实际的参数只有2个 由","区分的你把ControlStyles的枚举看看 再运算一下就明白了 c# 程序如何自動更新? 如何用C#将Excel中的图表(chart)保存为图片 BackgroundWorker还能提示不能访问另一个线程的控件 C#菜鸟级问题,望大虾指教!! 将一个table读到内存后,怎么取其数据? C# WINDOWS服务 如何设置依存关系? 一个正则表达式的难题? MASM的问题(我晕,我怎么会问这么白痴的问题)?请哪个不白痴的人回答 怎样把数组的内容插入到数据库某表中的一列? 请问c#中的csc/..为何不能用,总说是无效的命令?????? 关于判断网络页面是否存在的问题,谢谢! 2个MDI子窗体相互调用的问题
相当于
00100000000000000 | 00000000000000010 | 00000100000000000 = 00100100000000010;
看看ControlStyles的定义
你把ControlStyles的枚举看看 再运算一下就明白了