this.SetStyle(ControlStyles.DoubleBuffer |
      ControlStyles.UserPaint |
      ControlStyles.AllPaintingInWmPaint,
      true);这个函数里面的“|” 符号是什么意思啊?  这是什么语法?

解决方案 »

  1.   

    二元 | 运算符是为整型和 bool 类型预定义的。对于整型,| 计算操作数的按位“或”结果。对于 bool 操作数,| 计算操作数的逻辑“或”结果;也就是说,当且仅当两个操作数均为 false 时,结果才为 false。具体可以查msdn
      

  2.   

    http://msdn.microsoft.com/zh-cn/library/6373h346(VS.80).aspx
      

  3.   

    | 这个是或运算,也就可以说是位的或运算比如 
    枚举ControlStyles.DoubleBuffer的值 = 1
    枚举ControlStyles.UserPaint 的值 = 2
    枚举ControlStyles.AllPaintingInWmPaint 的值 = 4那么ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint这个就等于 = 7了
      

  4.   

    那这个函数该怎么理解呢? 是设置ControlStyles.DoubleBuffer,ControlStyles.UserPaint,ControlStyles.AllPaintingInWmPaint 
    这三个参数为true吗?
      

  5.   


    计算这三个参数的 逻辑或 有什么用呢? 还有后面那个true 是对于这三个参数的吗?
      

  6.   

    lz可以看看这个文档的说明
    http://msdn.microsoft.com/zh-cn/library/system.windows.forms.control.setstyle.aspx
      

  7.   

    问题没有解决,还有人可以说清楚吗?this.SetStyle(ControlStyles.DoubleBuffer | 
          ControlStyles.UserPaint | 
          ControlStyles.AllPaintingInWmPaint, 
          true); 为什么要把第一个参数写成那样,代表什么意思,为什么要计算3个枚举值的或运算啊?
      

  8.   

    表示,这个控件有包含三个style,即同时有ControlStyles.DoubleBuffer ControlStyles.UserPaint ControlStyles.AllPaintingInWmPaint, 这三种style