【C#】上机实验八

1. 设计一个窗体应用程序,模拟写字板应用程序的基本功能。具体功能要求如下:

(1)“文件”菜单中有“新建”、“打开”、“保存”、“退出”子菜单。

(2)“编辑”菜单中有“剪切”、“复制”、“粘贴”、“撤销”、“重复”、“全选”子菜单。

(3)工具菜单中有“颜色”、“字体”、“状态栏”功能。

(4)帮助菜单中有“关于”菜单功能。

(5)实现“编辑”菜单中、“工具”栏目中“剪切”、“复制”、“粘贴”、“撤销”、“重复”、“全选”的功能。

(6)实现文件的新建、打开、保存功能。(利用RichTextBox控件)

(7)文件菜单添加打开文本文件、保存文本文件菜单项,实现文件的打开、保存功能。(利用文件读写类)

 

 

 

提示:

1)添加菜单栏、工具栏、RichTextBox控件。

2)在打开对话框中要想只显示文本文档,可以在通用对话框Filter属性中设置*.txt类别。richTextBoxLoadFileSaveFile方法中要指定文件流为RichTextBoxStreamType.PlainText

3)点击菜单和工具栏相关按钮都实现同一个功能,所以会调用同一个方法。设计一系列公有方法实现相关功能。建议完成一个方法,就运行测试一个方法,问题解决后再编写下一个方法,避免出现太多错误。

 

  1 using System;
  2 using System.Collections.Generic;
  3 using System.ComponentModel;
  4 using System.Data;
  5 using System.Drawing;
  6 using System.Linq;
  7 using System.Text;
  8 using System.Windows.Forms;
  9 
 10 namespace MyNote
 11 {
 12     public partial class Form1 : Form
 13     {
 14         public Form1()
 15         {
 16             InitializeComponent();
 17             this.toolStripStatusLabel1.Text = "Welcome To My Note";
 18             this.toolStripStatusLabel2.Text = DateTime.Now.ToString();
 19             
 20         }
 21 
 22         #region 自定义方法
 23         
 24         public void TextCopy()
 25         {
 26             this.richTextBox1.Copy();
 27         }
 28 
 29         public void TextCut()
 30         {
 31             this.richTextBox1.Cut();
 32         }
 33 
 34         public void TextPaste()
 35         {
 36             this.richTextBox1.Paste();
 37         }
 38 
 39         public void TextUndo()
 40         {
 41             this.richTextBox1.Undo();
 42         }
 43 
 44         public void TextRedo()
 45         {
 46             this.richTextBox1.Redo();
 47         }
 48 
 49         public void TextSelectAll()
 50         {
 51             this.richTextBox1.SelectAll();
 52         }
 53 
 54         public void FileOpenMethod()
 55         {
 56             OpenFileDialog dia = new OpenFileDialog();
 57             dia.Filter = "文本文件(*.txt)|*.txt|所有文件|*.*";
 58 
 59             //dia.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
 60             if (dia.ShowDialog() == DialogResult.OK)
 61             {
 62                 this.richTextBox1.LoadFile(dia.FileName, RichTextBoxStreamType.PlainText);
 63                 this.toolStripStatusLabel1.Text = dia.SafeFileName;
 64                 this.toolStripStatusLabel2.Text = DateTime.Now.ToString();
 65             }
 66         }
 67 
 68         public void FileSaveMethod()
 69         {
 70             SaveFileDialog dia = new SaveFileDialog();
 71             dia.Filter = "文本文件(*.txt)|*.txt|所有文件|*.*";
 72 
 73             //dia.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
 74             if (dia.ShowDialog() == DialogResult.OK)
 75             {
 76                 this.richTextBox1.SaveFile(dia.FileName, RichTextBoxStreamType.PlainText);
 77             }
 78         }
 79 
 80         public void About() 
 81         {
 82             AboutBox1 dia = new AboutBox1();
 83             dia.ShowDialog();
 84         }
 85         #endregion
 86 
 87 
 88         #region 菜单栏方法
 89         private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
 90         {
 91             this.toolStripStatusLabel1.Text = "New blank Page";
 92             this.toolStripStatusLabel2.Text = DateTime.Now.ToString();
 93             this.richTextBox1.Text = "";
 94         }
 95 
 96         private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
 97         {
 98             FileOpenMethod();
 99         }
100 
101         private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
102         {
103             FileSaveMethod();
104         }
105 
106         private void 剪切ToolStripMenuItem_Click(object sender, EventArgs e)
107         {
108             TextCut();
109         }
110         private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
111         {
112             TextCopy();
113         }
114 
115         private void 粘贴ToolStripMenuItem_Click(object sender, EventArgs e)
116         {
117             TextPaste();
118         }
119 
120         private void 撤销ToolStripMenuItem_Click(object sender, EventArgs e)
121         {
122             TextUndo();
123         }
124 
125         private void 重复ToolStripMenuItem_Click(object sender, EventArgs e)
126         {
127             TextRedo();
128         }
129         private void 全选ToolStripMenuItem_Click(object sender, EventArgs e)
130         {
131             TextSelectAll();
132         }
133 
134         private void 颜色ToolStripMenuItem_Click(object sender, EventArgs e)
135         {
136             ColorDialog dia = new ColorDialog();
137             dia.Color = this.richTextBox1.SelectionColor;
138             if (dia.ShowDialog() == DialogResult.OK)
139             {
140                 this.richTextBox1.SelectionColor = dia.Color;
141             }
142         }
143 
144         private void 字体ToolStripMenuItem_Click(object sender, EventArgs e)
145         {
146             FontDialog dia = new FontDialog();
147             dia.Font = this.richTextBox1.SelectionFont;
148             dia.Color = this.richTextBox1.SelectionColor;
149             dia.ShowColor = true;
150             if (dia.ShowDialog() == DialogResult.OK)
151             {
152                 this.richTextBox1.SelectionFont = dia.Font;
153                 this.richTextBox1.SelectionColor = dia.Color;
154             }
155         }
156 
157         private void 状态框ToolStripMenuItem_Click(object sender, EventArgs e)
158         {
159             this.statusStrip1.Visible = !this.statusStrip1.Visible;
160             状态框ToolStripMenuItem.Checked = this.statusStrip1.Visible;
161         }
162 
163         private void 关于ToolStripMenuItem_Click(object sender, EventArgs e)
164         {
165             About();
166         }
167 
168         private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
169         {
170             Application.Exit();
171         }
172 
173         #endregion
174 
175 
176 
177         #region 工具栏方法
178 
179         //新建按键
180         private void toolStripButton1_Click(object sender, EventArgs e)
181         {
182             this.toolStripStatusLabel1.Text = "New blank Page";
183             this.toolStripStatusLabel2.Text = DateTime.Now.ToString();
184             this.richTextBox1.Text = "";
185         }
186 
187         //打开按键
188         private void toolStripButton2_Click(object sender, EventArgs e)
189         {
190             FileOpenMethod();
191         }
192 
193         //保存按键 
194         private void toolStripButton3_Click(object sender, EventArgs e)
195         {
196             FileSaveMethod();
197         }
198 
199         //复制按钮
200         private void toolStripButton4_Click(object sender, EventArgs e)
201         {
202             TextCopy();
203         }
204 
205         //剪切按钮
206         private void toolStripButton5_Click(object sender, EventArgs e)
207         {
208             TextCut();
209         }
210 
211         //粘贴按钮
212         private void toolStripButton6_Click(object sender, EventArgs e)
213         {
214             TextPaste();
215         }
216         
217         //撤销按钮 
218         private void toolStripButton7_Click(object sender, EventArgs e)
219         {
220             TextUndo();
221         }
222         
223         //重复按钮 
224         private void toolStripButton8_Click(object sender, EventArgs e)
225         {
226             TextRedo();
227         }
228 
229         private void toolStripButton9_Click(object sender, EventArgs e)
230         {
231             About();
232         }
233         #endregion
234     }
235 }
MyNote

 

posted @ 2019-11-15 17:14  Osea  阅读(732)  评论(0编辑  收藏  举报