简易文本编辑器制作流程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

简易文本编辑器

操作步骤如下。

(1)新建一个Windows应用程序项目,并命名为Wordpad。

(2)把窗体Form1命名为MainForm,Text属性设置为“文本编辑器”,IsMdiContainer

属性设置为true。

(3)在MainForm上放置一个MenuStrip,不更改命名。在如图1所示的MDI窗体

菜单中添加主菜单和子菜单并命名和设置Text属性。

(4)设置【格式】主菜单下的【粗体】、【斜体】和【下划线】3个菜单项的Image属性,并加上相应的图标(图标可以自行选择)

(5)在MainForm上放置一个MenuStrip,不更改命名。按如图2所示给工具栏添加3个工具按钮并命名和设置Text属性。分别设置3个工具按钮的Image属性并加上相的图标。(6)新添加一个Windows窗体,命名为frmMDIChild。在其中添加一个RichTextBox控件,把它的Dock属性设置为Fill,使之充满整个窗体。

(7)分别双击【新建】和【退出】子菜单,给它们生成Click事件。

(8)按Ctrl键同时选中【粗体】、【斜体】、【下划线】子菜单,并在事件窗口中双击Click事件,使它们共享同一事件方法。

(9)同时选中【平铺】、【层叠】、【水平并排】、【垂直并排】子菜单,并在事件窗口中双击Click 事件,也使它们共享同一事件方法。

(10)选中前面添加的ToolStrip控件,并生成它的ItemClicked事件。

(11)打开代码窗口,在其中输入如下代码:

private int mdiChildCount=0;//用于记录打开MDI子窗体的次数

private void mitemNew_Click(object sender,EventArgs e)

{

mdiChildCount++;//每打开一个MDI子窗体就加1

frmMDIChild mdiChild=new frmMDIChild();//创建一个新的MDI子窗体

mdiChild.MdiParent=this;

mdiChild.Show();

mdiChild.Text="文档"+mdiChildCount.ToString();//更改窗体标题

}

private void mitemExit_Click(object sender,EventArgs e)

{//退出应用程序

Close();

}

private void mitemBlod_Click(object sender,EventArgs e)

{//直接调用自定义函数formatText

formatText(((ToolStripItem)sender).Text);

}

private void toolStrip1_ItemClicked(object sender,ToolStripItemClickedEventArgs e) {//直接调用自定义函数formatText

formatText(((ToolStripItem)e.ClickedItem).Text);

}

private void mitemArrangeIcons_Click(object sender,EventArgs e)

{//根据菜单项的Text属性来区分它们

switch(((ToolStripItem)sender).Text)

{//重新排列MDI子窗体

case"平铺":

youtMdi(MdiLayout.ArrangeIcons);

break;

case"层叠":

youtMdi(MdiLayout.Cascade);

break;

case"水平并排":

youtMdi(MdiLayout.TileHorizontal);

break;

default:

youtMdi(MdiLayout.TileVertical);

break;

}

}

private void formatText(string itemText)//自定义方法

{//寻找处于激活状态下的MDI子窗体

Form activeChild=this.ActiveMdiChild;

if(activeChild!=null)//如果找到

{//寻找MDI子窗体上的处于活动状态的RichTextBox控件

RichTextBox aBox=(RichTextBox)activeChild.ActiveControl;

if(aBox!=null)//如果找到

{//提取RichTextBox中的选中的文字的字体

Font fontOfSelectedText=aBox.SelectionFont;

FontStyle fs;

switch(itemText)//根据菜单项或工具按钮的Text属性来区分他们

{//更改字体样式,并存放在FontStyle类型变量fs中

case"粗体":

fs=aBox.SelectionFont.Bold?

FontStyle.Regular:FontStyle.Bold;

break;

case"斜体":

fs=aBox.SelectionFont.Italic?

FontStyle.Regular:FontStyle.Italic;

break;

default:

fs=aBox.SelectionFont.Underline?

FontStyle.Regular:FontStyle.Underline;

break;

}

Font FontToApply=new Font(fontOfSelectedText,fs);

aBox.SelectionFont=FontToApply;//更改选中部分的字体样式

}

}

}

运行结果:

运行程序,多次选择菜单【文件】|【新建】,打开多个MDI子窗体,在每个MDI子窗体中输入文字。选择文字中的一部分,并单击工具栏和菜单中的【粗体】、【斜体】和【下划线】这几个按钮,观察选中文字的变化。分别选择【窗口】主菜单下的几个菜单项重新排列MDI 子窗口,观察效果。

相关文档
最新文档