如图所示需要实现的功能有新建、打开、保存功能;文字的复制、粘贴、删除功能;字体类型、格式的设置功能;查看日期时间等功能,并且用户可以根据需要显示或者隐藏工具栏和状态栏. 还应该可以自由修改字体.
需要用到的控件:
- MenuStrip(菜单控件)。
- ToolStrip(工具栏控件)。
- RichTextBox(多格式文本框控件)。
- StatusStrip(状态栏控件)。
- OpenFileDialog(打开对话框)。
- SaveFileDialog(保存对话框)。
- FontDialog(字体对话框)。
- Timer(计时器控件)。
主要是使用richtextbox空间中的 rtxtNotepad.Cut();//剪切,rtxtNotepad.Paste();//粘贴 rtxtNotepad.Copy();//复制即可完成这些功能.
private void tsmiCopy_Click(object sender, EventArgs e)
{
rtxtNotepad.Copy();//复制
}
private void tsmiCut_Click(object sender, EventArgs e)
{
rtxtNotepad.Cut();//剪切
}
private void tsmiPaste_Click(object sender, EventArgs e)
{
rtxtNotepad.Paste();//粘贴
}
对于打开系统自己的文件窗口
可以使用OpenFileDialog控件,用SaveFileDialog控件来保存文件
private void tsmiOpen_Click(object sender, EventArgs e)
{
if (b == true || rtxtNotepad.Text.Trim() != "")
{
if (s == false)
{
string result;
result = MessageBox.Show("文件尚未保存,是否保存?",
"保存文件", MessageBoxButtons.YesNoCancel).ToString();
switch (result)
{
case "Yes":
if (b == true)
{
rtxtNotepad.SaveFile(odlgNotepad.FileName);
}
else if (sdlgNotepad.ShowDialog() == DialogResult.OK)
{
rtxtNotepad.SaveFile(sdlgNotepad.FileName);
}
s = true;
break;
case "No":
b = false;
rtxtNotepad.Text = "";
break;
}
}
}
odlgNotepad.RestoreDirectory = true;
if ((odlgNotepad.ShowDialog() == DialogResult.OK) && odlgNotepad.FileName != "")
{
rtxtNotepad.LoadFile(odlgNotepad.FileName);//打开代码语句
b = true;
}
s = true;
}
字体的格式设计调用系统的对话框即可
使用FontDialog(字体对话框)自己对应的函数即可完成字体改变的功能
private void tsmiFont_Click(object sender, EventArgs e)
{
fdlgNotepad.ShowColor = true;
if (fdlgNotepad.ShowDialog() == DialogResult.OK)
{
rtxtNotepad.SelectionColor = fdlgNotepad.Color;
rtxtNotepad.SelectionFont = fdlgNotepad.Font;
}
}
在帮助按钮中需要新建一个新的窗体文件
在需要右键文件夹添加窗体文件,
在其中加入按钮,超文本,label即可,对其进行图中设计,超文本代码如下
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process.Start("http://www.bilibili.com");
}
对于工具栏中也可以双击每一个小图标即可创建对应的代码
部分如下图所示
private void 打印PToolStripButton_Click(object sender, EventArgs e)
{
MessageBox.Show("找不到打印机!");
}
private void 保存SToolStripButton_Click(object sender, EventArgs e)
{
tsmiSave_Click(sender, e);
}
private void 复制CToolStripButton_Click(object sender, EventArgs e)
{
tsmiCopy_Click(sender, e);
}
private void 粘贴PToolStripButton_Click(object sender, EventArgs e)
{
tsmiPaste_Click(sender, e);
}
最后就是左下角的时间显示
调用系统时间即可
private void tssLbl2_Click(object sender, EventArgs e)
{
tssLbl2.Text = System.DateTime.Now.ToString();
}
详细代码见gitee中: