C#记事本源代码(winFrom)
来源:互联网 发布:snmp获取linux信息 编辑:程序博客网 时间:2024/06/05 21:14
以下是主窗体源代码:
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;
using System.Runtime.InteropServices;
//引用类的申明
namespace WindowsApplication1//名称空间的申明
{
publicpartial class MainForm : Form//主窗口
{
public MainForm()
{
InitializeComponent();
}
//
//人机交互是通过操作人员对事件的操作来实现的,以下为事件的实现代码
//
//新建文本
private void MenuItem7_Click(object sender, EventArgs e)
{
//如果当前文本内容处于修改状态,则提示保存
if (textBox1.Modified == true)
{
DialogResult re = MessageBox.Show("文件" + Text +"的内容已改变,需要保存吗?", "保存文件",MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
switch (re)
{
case DialogResult.Yes:
this.MenuItem9_Click(sender, e);
textBox1.Clear();
this.lastsavename = "";
this.Text = "新建-记事本";
break;
case DialogResult.No:
textBox1.Clear();
this.lastsavename = "";
this.Text = "新建-记事本";
break;
case DialogResult.Cancel:
break;
}
}
else
{
textBox1.Clear();
this.lastsavename = "";
this.Text = "新建-记事本";
textBox1.Modified = false;
}
}
//打开文件
private void MenuItem8_Click(object sender, EventArgs e)
{
try//捕获异常事件
{
//如果当前文本内容被修改,则提示保存
if (textBox1.Modified == true)
{
//提示保存对话框
DialogResult re = MessageBox.Show("文件" + this.Text +"的内容已经改变,是否需要保存?", "保存文件",MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (re == DialogResult.Cancel)
{
return;
}
if (re == DialogResult.OK)
{
this.MenuItem9_Click(sender, e);
}
}
openFileDialog1.Title = "打开";
openFileDialog1.FileName = "";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
//打开选定路径上的文件
StreamReader sr = new StreamReader(openFileDialog1.FileName,Encoding.Default);
this.lastsavename = openFileDialog1.FileName;
this.Text = Path.GetFileNameWithoutExtension(this.lastsavename) +"-记事本";
textBox1.Text = sr.ReadToEnd();
sr.Close();
}
}
//处理异常事件
catch (Exception error)
{
MessageBox.Show(error.Message.ToString());
}
}
//保存文件
private void MenuItem9_Click(object sender, EventArgs e)
{
//捕获异常事件
try
{
if (this.lastsavename == "")
{
saveFileDialog1.Title = "保存";
saveFileDialog1.FileName = "*.txt";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
//保存的实现
this.lastsavename = saveFileDialog1.FileName;
using (StreamWriter sw = newStreamWriter(saveFileDialog1.FileName))
{
sw.Write(textBox1);
sw.Close();
textBox1.Modified = false;
this.Text =Path.GetFileNameWithoutExtension(saveFileDialog1.FileName) +"-记事本";
}
}
}
else
{
textBox1.SaveFile(this.lastsavename,RichTextBoxStreamType.PlainText);
textBox1.Modified = false;
}
}
//处理异常事件
catch (Exception er)
{
MessageBox.Show(er.Message.ToString());
}
}
//另存为:
private void MenuItem10_Click(object sender, EventArgs e)
{
try
{
saveFileDialog1.Title = "另存为";
saveFileDialog1.FileName = "*.txt";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);
sw.Write(textBox1);
textBox1.Modified = false;
this.lastsavename = saveFileDialog1.FileName;
sw.Close();
this.Text =Path.GetFileNameWithoutExtension(saveFileDialog1.FileName) +"-记事本";
}
}
catch (Exception er)
{
MessageBox.Show(er.Message.ToString());
}
}
//页面设置
private void MenuItem11_Click(object sender, EventArgs e)
{
try
{
if (pageSetupDialog1.ShowDialog() == DialogResult.OK)
{
pageSetupDialog1.ShowDialog();
}
}
catch (Exception err)
{
MessageBox.Show(err.Message.ToString());
}
}
//打印
private void MenuItem12_Click(object sender, EventArgs e)
{
try
{
if (printDialog1.ShowDialog() == DialogResult.OK)
{
printDialog1.ShowDialog();
}
}
catch (Exception err)
{
MessageBox.Show(err.Message.ToString());
}
}
//退出
private void MenuItem14_Click(object sender, EventArgs e)
{
this.Close();
}
//编辑-撤消
private void MenuItem15_Click(object sender, EventArgs e)
{
if (textBox1.CanUndo == true)
{
textBox1.Undo();
textBox1.ClearUndo();
}
}
//编辑-剪切
private void MenuItem17_Click(object sender, EventArgs e)
{
if (textBox1.SelectedText != "")
{
textBox1.Cut();
}
}
//编辑-复制
private void MenuItem18_Click(object sender, EventArgs e)
{
textBox1.Copy();
}
//编辑-粘贴
private void MenuItem19_Click(object sender, EventArgs e)
{
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text) ==true)
{
textBox1.Paste();
}
}
//编辑-删除
private void MenuItem20_Click(object sender, EventArgs e)
{
if (textBox1.SelectedText != "")
{
textBox1.SelectedText = "";
}
}
//编辑-全选
private void MenuItem27_Click(object sender, EventArgs e)
{
textBox1.SelectAll();
}
//查找
private void MenuItem22_Click(object sender, EventArgs e)
{
new Find(textBox1).Show();
}
//查找下一个,与查找相同的调用方法
private void MenuItem23_Click(object sender, EventArgs e)
{
new Find(textBox1).Show();
}
//覆盖
private void MenuItem24_Click(object sender, EventArgs e)
{
new Replace(textBox1).Show();
}
//跳转
private void MenuItem25_Click(object sender, EventArgs e)
{
new Goto(textBox1).Show();
}
//时间/曰期,加到文本最后
private void MenuItem28_Click(object sender, EventArgs e)
{
textBox1.AppendText(DateTime.Now.ToString());
}
//字型设置
private void MenuItem30_Click(object sender, EventArgs e)
{
if (fontDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.Font = fontDialog1.Font;
textBox1.ForeColor = fontDialog1.Color;
}
}
//显示帮助文件
private void MenuItem32_Click(object sender, EventArgs e)
{
Help.ShowHelp(this, "notepad.chm");
}
//关于本记事本制作申明
private void MenuItem33_Click(object sender, EventArgs e)
{
new About().Show();
}
//字体颜色设置
private void MenuItem34_Click(object sender, EventArgs e)
{
if (colorDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.ForeColor = colorDialog1.Color;
}
}
//背景颜色设置
private void MenuItem35_Click(object sender, EventArgs e)
{
if (colorDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.BackColor = colorDialog1.Color;
}
}
//上下文菜单-撤消
private void toolStripMenuItem1_Click(object sender, EventArgse)
{
this.MenuItem15_Click(sender, e);
}
//上下文菜单-剪切
private void toolStripMenuItem2_Click(object sender, EventArgse)
{
this.MenuItem17_Click(sender, e);
}
//上下问菜单-复制
private void toolStripMenuItem3_Click(object sender, EventArgse)
{
this.MenuItem18_Click(sender, e);
}
//上下文菜单-粘贴
private void toolStripMenuItem4_Click(object sender, EventArgse)
{
this.MenuItem19_Click(sender, e);
}
//上下文菜单-删除
private void toolStripMenuItem5_Click(object sender, EventArgse)
{
this.MenuItem20_Click(sender, e);
}
//上下文菜单-全选
private void toolStripMenuItem6_Click(object sender, EventArgse)
{
this.MenuItem27_Click(sender, e);
}
//编辑菜单项下拉事件发生时更新其菜单项属性
private void MenuItem3_DropDownOpened(object sender, EventArgse)
{
//如果剪切板内容不为空,则粘贴项可用,否则不可用
if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
this.MenuItem19.Enabled = true;
}
else
this.MenuItem19.Enabled = false;
//根据选择区域不为空,则复制,剪切,删除可用;否则不可用
if (textBox1.SelectedText.Length > 0)
{
MenuItem17.Enabled = true;
MenuItem18.Enabled = true;
MenuItem20.Enabled = true;
}
else
{
MenuItem17.Enabled = false;
MenuItem18.Enabled = false;
MenuItem20.Enabled = false;
}
//设置撤消
if (textBox1.CanUndo == true)
{
MenuItem15.Enabled = true;
}
else
{
MenuItem15.Enabled = false;
}
//如果记事本文本内容不为空,则全选可用;否则不可用
if (textBox1.Text.Length > 0)
{
MenuItem27.Enabled = true;
}
else
{
MenuItem27.Enabled = false;
}
}
//点击右键时设置上下文菜单属性
private void contextMenuStrip1_Opening(object sender,CancelEventArgs e)
{
//如果剪切板内容不为空,则粘贴项可用,否则不可用
if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
this.toolStripMenuItem4.Enabled = true;
}
else
this.toolStripMenuItem4.Enabled = false;
//根据选择区域不为空,则复制,剪切,删除可用;否则不可用
if (textBox1.SelectedText.Length > 0)
{
toolStripMenuItem2.Enabled = true;
toolStripMenuItem3.Enabled = true;
toolStripMenuItem5.Enabled = true;
}
else
{
toolStripMenuItem2.Enabled = false;
toolStripMenuItem3.Enabled = false;
toolStripMenuItem5.Enabled = false;
}
//设置撤消
if (textBox1.CanUndo == true)
{
toolStripMenuItem1.Enabled = true;
}
else
{
toolStripMenuItem1.Enabled = false;
}
//如果记事本文本内容不为空,则全选可用;否则不可用
if (textBox1.Text.Length > 0)
{
toolStripMenuItem6.Enabled = true;
}
else
{
toolStripMenuItem6.Enabled = false;
}
}
//关闭窗体前提示是否需要保存
private void Form_Close(object sender,System.ComponentModel.CancelEventArgs err)
{
if (textBox1.Modified == true)
{
DialogResult re = MessageBox.Show(this.Text +"内容已更改,是否需要保存?", "保存提示",MessageBoxButtons.YesNoCancel, MessageBoxIcon.Asterisk);
switch (re)
{
case DialogResult.Yes:
- C#记事本源代码(winFrom)
- C#记事本源代码(包括详细注释)
- 记事本源代码
- 【C#源代码】记事本的新建、打开、保存等功能
- Qt:记事本源代码分享(新手入门,老鸟勿喷)
- C#记事本
- c# 记事本
- C#记事本
- C# 记事本
- C#记事本
- C#记事本
- C#记事本
- c# winfrom 分页实现,无DLL引用分享源代码和实现过程
- JAVA记事本源代码(雏形)
- java记事本(附源代码)
- JAVA记事本源代码 收藏
- 记事本源代码 java
- wp7记事本源代码
- JavaScript中使用正则表达式举例
- Ubuntu 下自由切换JDK版本
- 计算机视觉工业的前途在何方
- 约瑟夫问题
- 树视控件在多文档中地运用
- C#记事本源代码(winFrom)
- MFC SDI: How do I create transparent SDI views
- VC++数据类型转换
- c代码指针2例
- Google十诫(转)
- wince中如何支持sqlce3.0
- DFM文件与XML文件互转
- Linux 动态库剖析
- SQL中系统临时表的使用和禁忌 及 Exec(SQLScript) 的使用