【C#】上机实验八
时间:2019-11-15
本文章向大家介绍【C#】上机实验八,主要包括【C#】上机实验八使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1. 设计一个窗体应用程序,模拟写字板应用程序的基本功能。具体功能要求如下:
(1)“文件”菜单中有“新建”、“打开”、“保存”、“退出”子菜单。
(2)“编辑”菜单中有“剪切”、“复制”、“粘贴”、“撤销”、“重复”、“全选”子菜单。
(3)工具菜单中有“颜色”、“字体”、“状态栏”功能。
(4)帮助菜单中有“关于”菜单功能。
(5)实现“编辑”菜单中、“工具”栏目中“剪切”、“复制”、“粘贴”、“撤销”、“重复”、“全选”的功能。
(6)实现文件的新建、打开、保存功能。(利用RichTextBox控件)
(7)文件菜单添加打开文本文件、保存文本文件菜单项,实现文件的打开、保存功能。(利用文件读写类)
提示:
(1)添加菜单栏、工具栏、RichTextBox控件。
(2)在打开对话框中要想只显示文本文档,可以在通用对话框Filter属性中设置*.txt类别。richTextBox的LoadFile、SaveFile方法中要指定文件流为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 }
原文地址:https://www.cnblogs.com/Osea/p/11868030.html
- 注意了,使用XSS平台的你可能被“偷窥”
- 挖洞经验 | 命令注入突破长度限制
- 预防SQL注入攻击之我见
- 企业网站架构之Nginx详解原理以及工作模块;源码Lnmp架构
- 【自然框架】——页面基类与设计模式(二) 模板模式
- HLS Lesson17-数组优化:数组映射和重组
- HLS Lesson16-数组优化:数组分割
- HLS Lesson15-for循环优化:其他方法
- 对自己的上网搜索记录进行爬虫是怎样一种体验
- HLS Lesson13-for循环优化:合并
- HLS Lesson12-for循环优化:基本性能指标
- HLS Lesson11-c/c++ testbench书写续2
- 【机器学习】实例详解机器学习如何解决问题
- 企业网站架构之Nginx+tomcat+memcached集群
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- CentOS7部署Flask(Apache、mod_wsgi、Python36、venv)
- php的instanceof和判断闭包Closure操作示例
- PHP中的自动加载操作实现方法详解
- python 实现语音聊天机器人的示例代码
- Linux应用程序使用写文件调试程序的方法
- python3学生名片管理v2.0版
- 移植新内核到Linux系统上的操作步骤
- PHP实现简单的协程任务调度demo示例
- YII2.0框架行为(Behavior)深入详解
- php数组函数array_push()、array_pop()及array_shift()简单用法示例
- PHP+MySQL+sphinx+scws实现全文检索功能详解
- php封装的page分页类完整实例代码
- Thinkphp自定义生成缩略图尺寸的方法
- Yii框架中使用PHPExcel的方法分析
- 详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案