📄 form1.cs
字号:
//
private void menuEditUndo_Click(object sender, EventArgs e)
{
richTextBox1.Undo();
}
//
//重做
//
private void menuEditRedo_Click(object sender, EventArgs e)
{
richTextBox1.Redo();
}
//
//退出
//
private void menuFileExit_Click(object sender, EventArgs e)
{
if (docHasChanged)
{
string strask1;
if (docName != "")
strask1 = "是否保存: " + docName+" ?";
else
strask1 = "是否保存 未命名.txt ?";
DialogResult asksave = MessageBox.Show(strask1, "退出", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning);
if (asksave == DialogResult.Yes)
{
menuFileSave_Click(sender, e);
Application.Exit();
}
else if (asksave == DialogResult.No)
{
Application.Exit();
}
else if (asksave == DialogResult.Cancel)
return;
}
else if (!docHasChanged)
{
Application.Exit();
}
}
//
//新建
//
private void menuFileNew_Click(object sender, EventArgs e)
{
if (docHasChanged)
{
string strask1;
if (docName != "")
strask1 = "是否保存: " + docName + " ?";
else
strask1 = "是否保存 未命名.txt ?";
DialogResult asksave =MessageBox.Show(strask1, "退出", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning);
if (asksave == DialogResult.Yes)
{
menuFileSave_Click(sender, e);
this.Text = "TextEditor - 未命名.txt";
docName = "未命名.txt";
richTextBox1.Text = "";
docHasChanged = true;
docHasData = false;
docHasSaved = false;
}
else if (asksave == DialogResult.No)
{
this.Text = "TextEditor - 未命名.txt";
docName = "未命名.txt";
richTextBox1.Text = "";
docHasChanged = true;
docHasData = false;
docHasSaved = false;
}
}
else if (docHasSaved || (!docHasData))
{
this.Text = "TextEditor - 未命名.txt";
docName = "未命名.txt";
richTextBox1.Text = "";
docHasChanged = true;
docHasSaved = false;
docHasData = false;
}
}
//
//颜色
//
private void meunFormatColor_Click(object sender, EventArgs e)
{
ColorDialog color = new ColorDialog();
if (color.ShowDialog() == DialogResult.OK)
richTextBox1.SelectionColor = color.Color;
docHasChanged = true;
}
//
//字体
//
private void meunFormatFont_Click(object sender, EventArgs e)
{
FontDialog font = new FontDialog();
if (font.ShowDialog() == DialogResult.OK)
richTextBox1.SelectionFont = font.Font;
docHasChanged = true;
}
//
//另存为
//
private void menuFileSaveAs_Click(object sender, EventArgs e)
{
SaveFileDialog save = new SaveFileDialog();
save.Filter = "Text files(*.txt)|*.txt|C# source(*.cs)|*.cs|C++ source(*.cpp)|*.cpp|C source(*.c" +
")|*.c|All files(*.*)|*.*";
save.InitialDirectory = "C:/";
save.Title = "保存为";
if (save.ShowDialog() == DialogResult.OK)
{
richTextBox1.SaveFile(save.FileName, RichTextBoxStreamType.PlainText);
docName = save.FileName;
}
docHasData = true;
docHasChanged = false;
this.Text = "TextEditor - " + docName;
docHasSaved = true;
}
//
//保存
//
private void menuFileSave_Click(object sender, EventArgs e)
{
if(docHasData)
{
FileStream file = new FileStream(docName, FileMode.Create, FileAccess.ReadWrite);
StreamWriter writer = new StreamWriter(file, System.Text.Encoding.GetEncoding("GB2312"));
writer.Write(richTextBox1.Text);
docHasChanged = false;
writer.Close();
file.Close();
this.Text = "TextEditor - " + docName;
docHasSaved = true;
}
else if ((!docHasData) || (!docHasSaved)||docHasChanged)
menuFileSaveAs_Click(sender, e);
}
//
//帮助主题
//
private void menuHelpTheme_Click(object sender, EventArgs e)
{
new Help().Show();
}
//
//关于
//
private void menuHelpAbout_Click(object sender, EventArgs e)
{
MessageBox.Show("作者: ZCPP\n\n日期: 2007年6月3日\n\n欢迎使用!请提意见: sparksharp@163.com", "关于TextEditor", MessageBoxButtons.OK, MessageBoxIcon.None);
}
//
//删除
//
private void menuEditDelete_Click(object sender, EventArgs e)
{
richTextBox1.SelectedText = "";
}
//
//查找
//
private void menuEditFind_Click(object sender, EventArgs e)
{
int len = 0 ;
InputBoxResult result = InputBox.Show("请输入要查找的内容:", "查找", "", new InputBoxValidatingHandler(inputBox_Validating));
if(result.Text!=null)
len = result.Text.Length;
int n;
if (len > richTextBox1.Text.Length)
MessageBox.Show("你输入的查找内容长度大于文件长度!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
else
{
//int l = richTextBox1.GetLineFromCharIndex(n);
if (result.OK)
{
n = richTextBox1.Find(result.Text, 0);
if (n != -1)
{
richTextBox1.Select(n, len);
richTextBox1.ScrollToCaret();
}
else
MessageBox.Show("没有找到匹配的内容!", "查找完毕", MessageBoxButtons.OK, MessageBoxIcon.None);
}
}
}
//
//替换
//
private void menuEditReplace_Click(object sender, EventArgs e)
{
int len = 0;
RepInputBoxResult result = RepInputBox.Show("目标内容:", "替换", "", new RepInputBoxValidatingHandler(repinputBox_Validating));
if (result.Text != null)
len = result.Text.Length;
int n;
if (len > richTextBox1.Text.Length)
MessageBox.Show("你输入的查找内容长度大于文件长度!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
else
{
//int l = richTextBox1.GetLineFromCharIndex(n);
if (result.OK)
{
n = richTextBox1.Find(result.Text, 0);
if (n != -1)
{
richTextBox1.Select(n, len);
richTextBox1.SelectedText = result.Text2;
richTextBox1.ScrollToCaret();
}
else
MessageBox.Show("没有找到匹配的内容!", "查找完毕", MessageBoxButtons.OK, MessageBoxIcon.None);
}
}
}
//
//不现实工具条的文字
//
private void menuDontShowToolTxt_Click(object sender, EventArgs e)
{
menuDontShowToolTxt.Checked = true;
menuShowToolTxt.Checked = false;
toolBarNew.Text = "";
toolBarOpen.Text = "";
toolBarSave.Text = "";
toolBarUndo.Text = "";
toolBarSelectAll.Text = "";
toolBarCut.Text = "";
toolBarCopy.Text = "";
toolBarPaste.Text = "";
toolBarDelete.Text = "";
toolBarFind.Text = "";
toolBarReplace.Text = "";
toolBarFont.Text = "";
toolBarColor.Text = "";
toolBarHelp.Text = "";
toolBarAbout.Text = "";
toolBar1.Hide();
toolBar1.Show();
Form1_ClientSizeChanged(sender, e);
}
//
//显示工具条按钮的文字
//
private void menuShowToolTxt_Click(object sender, EventArgs e)
{
richTextBox1_Click(sender, e);
menuDontShowToolTxt.Checked = false;
menuShowToolTxt.Checked = true;
toolBarNew.Text = "新建";
toolBarOpen.Text = "打开";
toolBarSave.Text = "保存";
toolBarUndo.Text = "撤消";
toolBarSelectAll.Text = "全选";
toolBarCut.Text = "剪切";
toolBarCopy.Text = "复制";
toolBarPaste.Text = "粘贴";
toolBarDelete.Text = "删除";
toolBarFind.Text = "查找";
toolBarReplace.Text = "替换";
toolBarFont.Text = "字体";
toolBarColor.Text = "颜色";
toolBarHelp.Text = "帮助";
toolBarAbout.Text = "关于";
toolBar1.Hide();
toolBar1.Show();
Form1_ClientSizeChanged(sender, e);
}
//
//自动换行
//
private void menuAutoNewLine_Click(object sender, EventArgs e)
{
if (!autoNewLine)
{
richTextBox1.WordWrap = true;
menuAutoNewLine.Checked = true;
autoNewLine = true;
}
else
{
richTextBox1.WordWrap = false;
menuAutoNewLine.Checked = false;
autoNewLine = false;
}
richTextBox1_Click(sender, e);
}
#endregion
#region 其他
//状态栏显示时间处理
private void timer1_Tick(object sender, EventArgs e)
{
statusBarTime.Text = "当前时间: " + DateTime.Now.ToString();
}
//InputBox - 查找框
private void inputBox_Validating(object sender, InputBoxValidatingArgs e)
{
if (e.Text.Trim().Length == 0)
{
e.Cancel = true;
e.Message = "Required";
}
}
//RepInputBox - 替换框
private void repinputBox_Validating(object sender, RepInputBoxValidatingArgs e)
{
//if (e.Text.Trim().Length == 0)
//{
// e.Cancel = true;
// e.Message = "Required";
//}
}
#endregion
#region 在文本框中的鼠标右键菜单
private void rightBtnCut_Click(object sender, EventArgs e)
{
menuEditCut_Click(sender, e);
}
private void rightBtnCopy_Click(object sender, EventArgs e)
{
menuEditCopy_Click(sender, e);
}
private void rightBtnPaste_Click(object sender, EventArgs e)
{
menuEditPaste_Click(sender, e);
}
private void rightBtnDelete_Click(object sender, EventArgs e)
{
menuEditDelete_Click(sender, e);
}
private void rightBtnSelAll_Click(object sender, EventArgs e)
{
menuEditSelectAll_Click(sender, e);
}
private void rightBtnDate_Click(object sender, EventArgs e)
{
menuEditDate_Click(sender, e);
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -