首先先给大家发表几张图片,描述一下记事本程序要实现的功能以及界面设计。

以上这些就是简易记事本的的主界面设计。

下面我们来做一些简单的讲解;

1.使用MenuStrip控件来实现菜单栏的基本设计。

在VS2013的侧面工具栏里面拖拽一个menustriP控件,在控件里面做菜单栏的设计。这时候应该注意我们应该在下侧的MenuStrip里面进行设计。

选择编辑项在里面进行设计,在设计完成菜单栏的大体框架之后,我们就要完成菜单栏的具体功能的实现。

具体的程序设计代码需要在每一个按钮的click事件里面完成,代码如下:

打开操作:

private void toolStripMenuItem5_Click(object sender, EventArgs e)
{
OpenFileDialog on = new OpenFileDialog();
on.Filter = "文本文件(.txt)|*.txt|Word文档(.doc)|*.doc|媒体文件(.avi)|*.avi";
if(on.ShowDialog() == DialogResult.OK)
Process.Start(on.FileName);
}

保存操作:

private void toolStripMenuItem6_Click(object sender, EventArgs e)
{
saveFile();
}
private void saveFile()
{
FrmNote Labname = new FrmNote();
string Myfilename = Labname.Text;
Myfilename = Labname.Text.ToUpper();
richTextBox1.SaveFile(Myfilename, RichTextBoxStreamType.PlainText);

}

关闭操作:

private void toolStripMenuItem8_Click(object sender, EventArgs e)
{
Application.Exit();
}

剪切:

private void toolStripMenuItem11_Click(object sender, EventArgs e)
{
if (richTextBox1.CanSelect)
richTextBox1.Cut();
}

复制:

private void toolStripMenuItem12_Click(object sender, EventArgs e)
{
if (richTextBox1.CanSelect)
richTextBox1.Copy();
}

粘贴:

private void toolStripMenuItem13_Click(object sender, EventArgs e)
{
IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Text))
this.richTextBox1.SelectedText = (String)iData.GetData(DataFormats.Text);

}

删除:

private void toolStripMenuItem14_Click(object sender, EventArgs e)
{
if (richTextBox1.CanSelect)
richTextBox1.Undo();
}

字体设计:

private void toolStripMenuItem18_Click(object sender, EventArgs e)
{
richTextBox1.Font = new Font("黑体", 15);
}

自选字体项:

private void 其他ToolStripMenuItem_Click(object sender, EventArgs e)
{
FontDialog on = new FontDialog();
on.Font = richTextBox1.SelectionFont;
if (on.ShowDialog() == DialogResult.OK)
richTextBox1.SelectionFont = on.Font;
}

颜色设置:

private void toolStripMenuItem21_Click(object sender, EventArgs e)
{
richTextBox1.ForeColor = Color.Red;
}

自选颜色设置:

private void 其他ToolStripMenuItem1_Click(object sender, EventArgs e)
{
ColorDialog on = new ColorDialog();
if (on.ShowDialog() == DialogResult.OK)
richTextBox1.SelectionColor = on.Color;
}

背景颜色:

private void 背景颜色ToolStripMenuItem_Click(object sender, EventArgs e)
{
ColorDialog on = new ColorDialog();
if (on.ShowDialog() == DialogResult.OK)
richTextBox1.BackColor = on.Color;
}

工具栏菜单——ToolStrip

  1. 功能要求:实现工具栏的基本设计。
  2. 控件组成以及属性设置:

l 在创建ToolStrip控件之前,可以先创建一个ToolStripContainer控件,用于摆放工具栏,文本框和状态栏的位置。其中单击小箭头,选择在窗体中停靠填充,并且面版可见性中,不选择左右(如图5所示)。

注:也可以不做,直接做下一步,新建工具栏也可以。

单击toolStripContainer上面的按钮,创建ToolStrip控件

打开,保存,查找,剪切,复制,粘贴

  1. 属性:提示信息由每个菜单项的ToolTipText设置。
  2. 功能实现:剪切,复制,粘贴按钮功能和“编辑菜单”中的相应功能相同

高级文本框控件——RichTextBox

  1. 功能要求:用于输入文字信息,并且可以利用右键设置文字的字体和颜色。
  2. 控件及属性设置——RichTextBox

创建RichTextBox时,单击上方小箭头,选择在父容器中停靠

《winform窗体应用程序》----------简易记事本的更多相关文章

  1. C# winform 窗体应用程序之图片上传Oracle数据库保存字段BLOB

    C# winform 窗体应用程序之图片上传Oracle数据库保存字段BLOB 我用的数据库是Oracle,就目前来看,许多数据库现在都倾向于Oracle数据库,对ORACLE数据库基本的操作也是必须 ...

  2. winform窗体 小程序【线程】

    线程是进程中执行运算的最小单位,也是执行处理机调度的基本单位.实际上线程是轻量级的进程.那么为什么要使用线程呢? (1)易于调度. (2)提高并发性.通过线程可方便有效地实现并发性.进程可创建多个线程 ...

  3. WinForm 窗体应用程序(初步)之一

    学习制作一个WinForm程序,有两样东西是需要首先掌握的.第一部分,我们称之为属性面板.无论是窗体还是控件,都有着自己的属性面板.第二部分,则是我们称之为控件的东西. 我们先来讨论一下属性面板.新建 ...

  4. WinForm窗体更新程序

    流程介绍: 打包参阅:WinForm程序打包说明    图一    图二    图三   实现步骤: 主程序 1.检测是否连上ftp服务器 1.1 连接不上,不检测. 1.2 连接上,如果有更新进程, ...

  5. 设置WinForm窗体及程序图标

    自己留着看,总是用的时候给忘记了,百度来百度去的麻烦. 设置 Ico 图标为 [资源文件] 项目名à右键à属性,在选项卡中选择"资源"   选择 "添加资源"à ...

  6. winform窗体 小程序【进程】

    进程 一个应用程序就是一个进程,我的理解是,只要是打开应用程序,就会创建进程. 在.NET框架在using.System.Diagnostics名称空间中,有一个类Process,用来创建一个新的进程 ...

  7. winform窗体 小程序【登录窗体】【恶搞程序】

    登录窗体 using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; ...

  8. WinForm 窗体应用程序 (初步)之二

    现在,我们来了解一些基本控件.控件是放置在工具箱里的,你可以在界面的左侧或者通过菜单栏的视图选项找到它. (1)Label 控件 这是一个用于放置文字的控件,因为你不能在窗体上直接输入文字. (2)T ...

  9. WinForm 窗体应用程序(进阶)之一

    进程: 进程,简单的说,就是让你的程序启动另一个程序. 1.Process.Start("calc");//启动计算器 弊端:只认识系统自带的程序,如果写错系统会崩溃. 2. // ...

随机推荐

  1. dsaf

    fdsafds fdsa fds f dsa

  2. renderman、arnold及全局光照

    走马观花看了一些实现全局光(global illumination)的文章,都是非实时电影级的.的确可以分为两个阵营,一是pixar的renderman中常用的reyes+点云,感觉pixar一路走来 ...

  3. iOS按钮设置图片在上文字在下

    UIButton同时设置Title和Image后,默认是图片在左文字在右,如下图1,很多情况下我们希望图片在上图片在下,如下图2,只需要简单的几行代码,即可实现. (1)因为需要处理多个按钮,所以将实 ...

  4. 【Fine原创】JMeter分布式测试中踩过的那些坑

    最近因为项目需要,研究了性能测试的相关内容,并且最终选用了jmeter这一轻量级开源工具.因为一直使用jmeter的GUI模式进行脚本设计,到测试执行阶段工具本身对资源的过量消耗给性能测试带来了瓶颈, ...

  5. 关于jQuery外部框架

    (function(window, undefined) {         var jQuery = ...         ...             window.jQuery = wind ...

  6. tableView的高度问题

    新建tableView 到一个普通的视图控制器的View 下,如果大小是全屏高 ,你的数据最下面显示不全,需要在设置高度时候,用屏幕高度-65 即可

  7. UICollectionview实现自定义cell的移动删除

    今天 ,有群里人询问了 ,支付宝首页的UICollectionview 的cell(其实不能成为cell,应该是item,不过大家习惯这么称呼了)怎么实现 自定义的拖拽 和删除,然后我查了下资料,它的 ...

  8. [转] Jenkins实战演练之Windows系统节点管理

    [前提] 通过<Jenkins实战演练之Windows服务器快速搭建>(http://my.oschina.net/iware/blog /191818)和<Jenkins实战演练之 ...

  9. iOS 源代码管理工具之SVN

    源代码管理工具之SVN 源代码管理工具SVN是一款非常强大的源代码管理工具,现在国内70%-90%的公司都在使用SVN来管理源代码,下面就让小编给大家着重介绍一下SVN的使用,SVN的使用主要分为下面 ...

  10. Java EE 编程中路径

    版权声明:未经博主允许,不得转载 首先我们要限定一个范围,是一个项目,或是以个访问地址..就先以一个项目为限定的范围 前述: 学过物理学的都知道相对运动和绝对运动, 虽然是相似的概念,但这里的要简单得 ...