c#记事本实现代码

编辑模块只实现了全选和时间2个功能,自动换行的功能还没写。

如果需要全部源码的请留言或者发邮件至henanlinzhoulcl@163.com

版本:1.0

主要代码如下:

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 MyNotePad
{
public partial class MyNotePad : Form
{
public MyNotePad()
{
InitializeComponent();
this.toolStripStatusLabel3.Text = DateTime.Now.DayOfWeek.ToString();
}

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
//textBox1.Text += e.KeyChar;
}

private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}

private void 日期ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.textBox1.SelectedText != "")
{
this.textBox1.SelectedText = DateTime.Now.ToString();
}
else
{
this.textBox1.Text += DateTime.Now;
}
}

private void timer1_Tick(object sender, EventArgs e)
{
this.toolStripStatusLabel1.Text = "现在时间是:" + DateTime.Now.ToString();
}

private void 状态栏ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.statusStrip1.Visible == false)
{
this.statusStrip1.Visible = true;
}
else
{
this.statusStrip1.Visible = false;
this.textBox1.Height += 10;
}
}

private void 关于MyNotePadAToolStripMenuItem_Click(object sender, EventArgs e)
{
About ab = new About();
ab.Show();
}

private void 全选ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.textBox1.SelectAll();
}

private void 字体ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (fontDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.Font = fontDialog1.Font;
}
}

private void MyNotePad_Resize(object sender, EventArgs e)
{
this.panel1.Width = this.Size.Width - 25;
this.panel1.Height = this.Size.Height - 50;
this.textBox1.Width = this.panel1.Width;
this.textBox1.Height = this.panel1.Height;
}

private void 自动换行ToolStripMenuItem_Click(object sender, EventArgs e)
{

}

private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
{
using (SaveFileDialog saveDig = new SaveFileDialog())
{
saveDig.Filter = @"文本文档(*.txt)|*.txt";
saveDig.FileName = "*.txt";
if (saveDig.ShowDialog() == DialogResult.OK)
{
StreamWriter sw = new StreamWriter(saveDig.FileName, false, System.Text.Encoding.Default);
sw.Write(this.textBox1.Text);
sw.Close();
this.Text = saveDig.FileName;
}
}
}

private void 另存为ToolStripMenuItem_Click(object sender, EventArgs e)
{
using (SaveFileDialog saveDig = new SaveFileDialog())
{
saveDig.Filter = @"文本文档(*.txt)|*.txt";
saveDig.FileName = this.Text;
if (saveDig.ShowDialog() == DialogResult.OK)
{
StreamWriter sw = new StreamWriter(saveDig.FileName, false, System.Text.Encoding.Default);
sw.Write(this.textBox1.Text);
sw.Close();
}
}
}

private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.textBox1.Text != "")
{

DialogResult d = MessageBox.Show("文件 " + this.Text + @" 的文字已经改变。

想保存文件吗?", "MyNotePad", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);

switch (d)
{
case DialogResult.Yes:
using (SaveFileDialog saveDig = new SaveFileDialog())
{
saveDig.Filter = @"文本文档(*.txt)|*.txt";
saveDig.FileName = "*.txt";
if (saveDig.ShowDialog() == DialogResult.OK)
{
StreamWriter sw = new StreamWriter(saveDig.FileName, false, System.Text.Encoding.Default);
sw.Write(this.textBox1.Text);
sw.Close();
this.Text = saveDig.FileName;
}
}
break;
case DialogResult.No:
this.textBox1.Text = "";
break;
case DialogResult.Cancel:
break;

default: System.Diagnostics.Debug.Assert(false);
break;

}

}
}

private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.textBox1.Text != "")
{

DialogResult d = MessageBox.Show("文件 " + this.Text + @" 的文字已经改变。

想保存文件吗?", "MyNotePad", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);

switch (d)
{
case DialogResult.Yes:
using (SaveFileDialog saveDig = new SaveFileDialog())
{
saveDig.Filter = @"文本文档(*.txt)|*.txt";
saveDig.FileName = "*.txt";
if (saveDig.ShowDialog() == DialogResult.OK)
{
StreamWriter sw = new StreamWriter(saveDig.FileName, false, System.Text.Encoding.Default);
sw.Write(this.textBox1.Text);
sw.Close();
this.Text = saveDig.FileName;
}
}
break;
case DialogResult.No:
this.textBox1.Text = "";
break;
case DialogResult.Cancel:
break;

default: System.Diagnostics.Debug.Assert(false);
break;

}
}
else
{
using (OpenFileDialog dlgText = new OpenFileDialog())
{
dlgText.Filter = @"(*.txt)|*.txt";
if (dlgText.ShowDialog() == DialogResult.OK)
{
if (File.Exists(dlgText.FileName))
{
StreamReader rStream = new StreamReader(dlgText.FileName, System.Text.Encoding.Default);
string s=default(string);
this.textBox1.Text = "";
while ((s = rStream.ReadLine()) != null)
{
this.textBox1.Text += s;
}
rStream.Close();
}
}
}
}
}

private void MyNotePad_FormClosing(object sender, FormClosingEventArgs e)
{
if (this.textBox1.Text != "")
{

DialogResult d = MessageBox.Show("文件 " + this.Text + @" 的文字已经改变。

想保存文件吗?", "MyNotePad", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);

switch (d)
{
case DialogResult.Yes:
using (SaveFileDialog saveDig = new SaveFileDialog())
{
saveDig.Filter = @"文本文档(*.txt)|*.txt";
saveDig.FileName = "*.txt";
if (saveDig.ShowDialog() == DialogResult.OK)
{
StreamWriter sw = new StreamWriter(saveDig.FileName, false, System.Text.Encoding.Default);
sw.Write(this.textBox1.Text);
sw.Close();
this.Text = saveDig.FileName;
}
}
break;
case DialogResult.No:
break;
case DialogResult.Cancel:
break;

default: System.Diagnostics.Debug.Assert(false);
break;

}
}
}

}
}

其他代码可以省略吧。

时间: 2024-07-28 20:14:53

c#记事本实现代码的相关文章

VB简易记事本实现代码_vb

事件实现代码: 复制代码 代码如下: Private Sub mQuit_Click() Text1.Text = "" End End Sub Private Sub mNew_Click() Text1.Text = "" Form1.Caption = "未命名" End Sub Private Sub mopen_Click() CommonDialog1.ShowOpen Frame = CommonDialog1.FileName I

Emmet——快速的编写HTML和CSS代码

这学期被自愿的选择了<Web应用程序设计>这门课,还是自学课.好吧,反正基础的HTML和CSS迟早也是要学习的,就提前学吧. 按照我的性子,当学习新的语言以及语法规则的时候,我就又开始折腾编辑器的语法高亮和配置自动补全功能了.其实接触到新的语言时,我个人建议还是不要急着去寻找相关的IDE去使用,还是先用基本的文本编辑器写,尝试自己手工去构建.等到理解了之后再使用IDE提高编码效率也不晚.IDE的方便是建立在对很多细节的屏蔽之上的,这样对学习新的知识没有益处.没有手写HTML的经验,全靠IDE点

源代码-代码感觉是对的,不知道问题出在哪里

问题描述 代码感觉是对的,不知道问题出在哪里 新人,还是用记事本写代码,求大神看下问题出在哪里.public class gangge{ public static void main (String args[]){ int x=1,sum=0; if(x<=1000&&x%21==0){ sum=sum+x; } else{ i++; } syestem.out.printf("sum"); } } 解决方案 而且目测你应该用while循环,你没说你的程序是做

winXP下用VBS写的代码编辑器_hta

这几天不能访问的时候把硬盘上的东东复习了一遍,找出了这个东西出来,由于水平有限,而且对DHTML没有什么研究,所以做得很是粗糙,贴上来是为了抛砖引玉,希望有高人能帮忙修改或拿出更优秀的东东出来. 测试环境为windows XP 专业版 SP2,暂时发现代码着色方面有Bug,虽然已有解决方法,不过由于代码量的原因(用记事本写代码真的很恼火),暂时未纠正,另外预计将来加入自动完成等功能. ps:利用VBS脚本+DHTML,主要功能由正则表达式+wmic来完成,代码需保存为HTA类型的文件,当然也可以

如何清理Win8系统Metro应用缓存

  Metro应用是Windows8的一大特色,Windows8 RP版比之前的版本多了不少Metro应用,例如PPTV,奇艺,QQ音乐,土豆,飞信,和各种游戏娱乐等.但这些在线视频音乐也会产生缓存,Metro应用没有传统桌面下的软件有提供清理缓存或者设置缓存目录功能,随着使用时间长一长,缓存目录越来越大,电脑会变卡,请看下面教你怎么清理. 清理Metro应用缓存 显示隐藏文件,因为Metro应用缓存目录是隐藏文件夹.资源管理器 –> 查看 –> 选项 –> 查看 –> 勾选去掉

请问生成getter时命名依据是什么呀?

问题描述 请问生成getter时命名依据是什么呀? 如图: 最早认为所有的getter生成都是把首字母大写,前面加上get前缀即可. 但是后来发现不是这么回事,详细观察一下吓一跳,不但boolean类型的会变成is前缀,而且如果第二个字母大写,第一个字母就不变大写了! 这样就很迷惑,究竟生成getter的依据是什么呢,有没有一个通则啊? 因为我想写一个东西,可能会用到EL表达式那样的需求,通过给定的属性名寻找其get方法,如果无法确定通则,做出来的东西就不能保证质量啦 解决方案 getter方法

学习网页制作基础入门教程(1)网页编写

教程|入门教程|网页 用记事本编写代码 1.首先打开"记事本"程序(方法是「开始」-「程序」-「附件」-「记事本」) 2.将下面代码复制好粘贴到记事本上,如图-1所示.(按鼠标右键选择粘贴就可以了!) <html> <head> <title>这里是标题</title></head> <body> 这里是放置网页内容的文本区域</body></html> [图-1说明]利用鼠标右键的&quo

解决2014年最近WordPress访问打开速度很慢,并一直加载页面的问题

最近WordPress网站访问特别的慢,有时间要加载一分钟才能完全打开,最初怀疑是服务器的问题,经过多方测试,还是没找到原因.后来,通过工具测出浏览器一直在加载fonts.googleapis.com,才发现了是原来是GOOGLE的外链资源影响了网站的速度! Wordpress很多主题用了谷歌的服务,现在谷歌被大规模屏蔽,速度受到了影响. WordPress 自3.9+版本后加入了Google Fonts,而最近GOOGLE在中国国内是无法访问的,所以,如果是在登陆状态下打开你的WordPres

5天学会asp_ASP基础

呵呵,看到网上有人写了10天学会asp,偶也想写一个,他既然叫10天,那我就5天吧,呵呵,新手多看看,高手指出错误,不要笑话偶啊!知 识只有共享才能发展,不要吝啬你的知识!!!! 好了我们闲话少说现在就开始吧! 首先,我先把ASP说一下,asp就是 Active Server Pages的简写, 我们为了方便理解那,就把asp想成是 插入到HTml中的一种脚本语言吧,这样理解起来方便. 书上都是以hello world的代码开始的,我们也这样开始吧! 这里我们就开始以示例讲解了: 〈html〉