您的位置:首页 > 其它

菜单事件的响应(RichTextBox字体加粗、斜体、下划线)

2010-08-30 21:32 645 查看
范例说明

本范例是在前一例的基础上创建各个菜单项的响应事件,使用户单击菜单项时能执行相应的操作,程序运行效果如图:













关键步骤

创建一个新的Windows应用程序. 把MenuStript和RichTextBox控件拖放到设计界面上,并设置相应菜单项和Name属性. 把RichTextBox的Dock属性修改为”Fill”. 双击各个菜单项,会出现代码界面,添加相应的功能代码.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace Demo1_3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

/// <summary>
/// 打开文件菜单事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsmiOpenFile_Click(object sender, EventArgs e)
{
try
{
OpenFileDialog ofdOpenFile = new OpenFileDialog();
//对话框标题
ofdOpenFile.Title = "打开文件";
//设置打开文件类型
ofdOpenFile.Filter = "TextDocument(*.rtf)|*.rtf";
if (ofdOpenFile.ShowDialog() == DialogResult.OK)
{
//文本框显示打开文件的内容
this.rtbShow.LoadFile(ofdOpenFile.FileName, RichTextBoxStreamType.PlainText);
this.Text = ofdOpenFile.FileName;
}
}
catch (IOException exp)
{
MessageBox.Show(exp.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}

/// <summary>
/// 保存文件菜单事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsmiSaveFile_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog sfdSaveFile = new SaveFileDialog();
sfdSaveFile.Title = "保存文件";
sfdSaveFile.Filter = "TextDocument(*.rtf)|*.rtf";
if (sfdSaveFile.ShowDialog() == DialogResult.OK)
{
this.rtbShow.SaveFile(sfdSaveFile.FileName, RichTextBoxStreamType.PlainText);
}
}
catch (IOException exp)
{
MessageBox.Show(exp.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}

/// <summary>
/// 文字加粗菜单事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsmiBold_Click(object sender, EventArgs e)
{
//获取当前选中文字的格式(字体、字号、字形等)
Font oldFont = this.rtbShow.SelectionFont;
Font newFont;
//判断当前选中文字是否已加粗
if (oldFont.Bold)
{
//如果选中文字已加粗则取消加粗
newFont = new Font(oldFont, oldFont.Style & ~FontStyle.Bold);
}
else
{
//如果选中文字未加粗则直接加粗
newFont = new Font(oldFont, oldFont.Style | FontStyle.Bold);
}
this.rtbShow.SelectionFont = newFont;     //设置选中文字格式为新的格式
}

/// <summary>
/// 文字斜体菜单事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsmiItalic_Click(object sender, EventArgs e)
{
Font oldFont = this.rtbShow.SelectionFont;
Font newFont;
if (oldFont.Italic)
{
newFont = new Font(oldFont, oldFont.Style & ~FontStyle.Italic);
}
else
{
newFont = new Font(oldFont, oldFont.Style | FontStyle.Italic);
}
this.rtbShow.SelectionFont = newFont;
}

/// <summary>
/// 文字下划线菜单事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsmiUnderline_Click(object sender, EventArgs e)
{
Font oldFont = this.rtbShow.SelectionFont;
Font newFont;
if (oldFont.Underline)
{
newFont = new Font(oldFont, oldFont.Style & ~FontStyle.Underline);
}
else
{
newFont = new Font(oldFont, oldFont.Style | FontStyle.Underline);
}
this.rtbShow.SelectionFont = newFont;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐