有人可以帮助解释下面的代码.
richTextBox1.Font = new Font(richTextBox1.Font.FontFamily,
richTextBox1.Font.Size,
richTextBox1.Font.Style ^ FontStyle.Underline);
Run Code Online (Sandbox Code Playgroud)
该代码与表单中的onclick事件有关,用于打开和关闭下划线字体样式.我认为我理解Exclusive Or,如果任一输入为true,则结果为true,但如果两者都为true或两者都为false,则输出为false.
我不明白它如何应用于Style属性,但它如何存储此数据,Style属性不仅仅是一个记录枚举的枚举值.我不明白这个属性如何记录多个值的结果,或者它不是这样做的?
该Style属性是一个标志 enum,其中值被定义为2的幂:1,2,4,8.它们可以组合,因为它们每个只是位于不同位置的单个位.比方说,使用OR来获取粗体斜体文本:
0001 Bold = 1
| 0010 Italic = 2
-----------------
0011 Bold/Italic = 3
Run Code Online (Sandbox Code Playgroud)
正如你所说,XOR将翻转它:
0011 Bold/Italic = 3
^ 0010 Italic = 2
----------------------
0001 Bold = 1
Run Code Online (Sandbox Code Playgroud)
和
0001 Bold = 1
^ 0010 Italic = 2
-----------------
0011 Bold/Italic = 3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
286 次 |
| 最近记录: |