/**************************************************************************** **************************** 自定义方法 ************************************ ****************************************************************************/ /** * 初始化控件 */ public void initControl() { // 样式初始化 statusStripMain.LayoutStyle = ToolStripLayoutStyle.HorizontalStackWithOverflow; status_detail.Alignment = ToolStripItemAlignment.Right; // 默认左边 richTextBox1.SelectionAlignment = HorizontalAlignment.Left; alignLeft.Checked = true; // 文件格式 this.richTextBox1.Rtf = @"{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052" + @"{\fonttbl{\f0\fmodern\fprq6\fcharset134 \ 'cb\ 'ce\ 'cc\ 'e5;}{\f1\fnil\fcharset134 \ 'cb\ 'ce\ 'cc\ 'e5;}}" + @"{\colortbl;\red0\green0\blue0;}" + @"\viewkind4\uc1\pard\cf1\lang2052\f0\cf1 }"; // 字体样式 System.Drawing.Text.InstalledFontCollection fonts = new System.Drawing.Text.InstalledFontCollection(); foreach (System.Drawing.FontFamily family in fonts.Families) { fontType.Items.Add(family.Name); } // 字体大小 string[] sizes = Enum.GetNames(typeof(MyFontSize)); foreach (string size in sizes) { fontSize.Items.Add(size); } // 设置默认 fontType.Text = "宋体"; fontSize.Text = "五号"; richTextBox1.Font = new Font(new FontFamily(fontType.Text), FontSizeUtil.getSize(fontSize.Text)); }
/** * 选中事件,根据选中内容修改工具栏状态 */ private void richTextBox1_SelectionChanged(object sender, EventArgs e) { Font font = richTextBox1.SelectionFont; if (null == font) { return; } HorizontalAlignment alignment = richTextBox1.SelectionAlignment; // 设置字体状态 bold.Checked = font.Bold ? true : false; italic.Checked = font.Italic ? true : false; underline.Checked = font.Underline ? true : false; deleteline.Checked = font.Strikeout ? true : false; // 设置对齐状态 switch (alignment) { case HorizontalAlignment.Left: alignLeft.Checked = true; alignCenter.Checked = false; alignRight.Checked = false; break; case HorizontalAlignment.Center: alignLeft.Checked = false; alignCenter.Checked = true; alignRight.Checked = false; break; case HorizontalAlignment.Right: alignLeft.Checked = false; alignCenter.Checked = false; alignRight.Checked = true; break; default: break; } // 设置字体 fontType.Text = font.Name; fontSize.Text = FontSizeUtil.getName(font.Size.ToString()); // 设置字体背景色 if (null != richTextBox1.SelectionBackColor) { colorBackground.BackColor = richTextBox1.SelectionBackColor; } // 设置字体颜色 if (null != richTextBox1.SelectionColor) { colorFont.BackColor = richTextBox1.SelectionColor; } }
/** * 工具栏菜单 - 切换字体样式 */ private void fontType_SelectedIndexChanged(object sender, EventArgs e) { string fontName = fontType.Text; string fontSizeText = fontSize.Text; Font selectionFont = richTextBox1.SelectionFont; if (null != selectionFont) { richTextBox1.SelectionFont = new Font(StringUtil.isNotEmpty(fontName) ? fontName : selectionFont.Name, StringUtil.isNotEmpty(fontSizeText) ? FontSizeUtil.getSize(fontSizeText) : selectionFont.Size); } else { richTextBox1.Font = new Font(StringUtil.isNotEmpty(fontName) ? fontName : richTextBox1.Font.Name, StringUtil.isNotEmpty(fontSizeText) ? FontSizeUtil.getSize(fontSizeText) : richTextBox1.Font.Size); } }