三. .Net Framework中的枚舉基類
在.Net Framework中枚舉基類(Enum)是一抽象類,位於System命名空間下,繼承了ValueType類和 IComparable, IFormattable, IConvertible接口,這裡以一個簡單的文本編輯作為示例介紹下枚舉在實際 中的應用.
簡單文本編輯器示例運行圖如下:
從上圖很容易看出,此文本編輯器主要是用於設置字體樣式,其實在實現這個簡單文本編輯器的時候就 是使用的字體樣式枚舉(FontStyle),FontStyle的源代碼定義如下:
1// 摘要:
2// 指定應用到文本的字形信息。
3[Flags]
4public enum FontStyle
5{}{
6 // 摘要:
7 // 普通文本。
8 Regular = 0,
9 //
10 // 摘要:
11 // 加粗文本。
12 Bold = 1,
13 //
14 // 摘要:
15 // 傾斜文本。
16 Italic = 2,
17 //
18 // 摘要:
19 // 帶下劃線的文本。
20 Underline = 4,
21 //
22 // 摘要:
23 // 中間有直線通過的文本。
24 Strikeout = 8,
25}
要實現上圖示的簡單文本編輯器很簡單,基本思路就是通過點擊上面字體樣式設置功能鍵,設置編輯區 域的文本字體樣式,這實現很簡單.在此,我就直接把代碼貼出來,有不清楚之處可從下面我提供的示例代碼 下載連接下載本文示例代碼查看.
1private void SetStyle(object sender,EventArgs e)
2{}{
3 ToolStripButton btn = sender as ToolStripButton;
4 FontStyle fontStyleContent = this.rchTxtContent.SelectionFont.Style;
5 FontStyle BtnFont = ( FontStyle)(Enum.Parse(typeof(FontStyle),btn.Tag.ToString ()));
6 if ((fontStyleContent | BtnFont) == fontStyleContent)
7 {
8 fontStyleContent = ~BtnFont & fontStyleContent;
9 }
10 else
11 {}{
12 fontStyleContent = fontStyleContent | BtnFont;
13 }
14 this.rchTxtContent.SelectionFont = new Font (this.rchTxtContent.SelectionFont.FontFamily,
15 this.rchTxtContent.SelectionFont.Size,
16 fontStyleContent,
17 this.rchTxtContent.SelectionFont.Unit);
18}