在记事本V1.0的基础上增加了编辑中的剪切,赋值,粘贴,删除功能,对程序关闭前的处理有做了一下改动。
新增加的代码:
//系统剪切板的操作
private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.textBox1.SelectedText != "")
{
Clipboard.SetDataObject(this.textBox1.SelectedText);
}
else
MessageBox.Show("没有选中文字!");
}
private void 粘帖ToolStripMenuItem_Click(object sender, EventArgs e)
{
IDataObject iData = Clipboard.GetDataObject();
//检测数据是否是可以使用的格式,即文本格式
if (iData.GetDataPresent(DataFormats.Text))
{
if (this.textBox1.SelectedText != "")
{
textBox1.SelectedText = (String)iData.GetData(DataFormats.Text);
}
else
{
textBox1.Text += (String)iData.GetData(DataFormats.Text);
}
}
else
{
MessageBox.Show("没有从剪切板中接收到数据!");
}
}
private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.textBox1.SelectedText = "";
}
private void 剪切XToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.textBox1.SelectedText != "")
{
Clipboard.SetDataObject(this.textBox1.SelectedText);
this.textBox1.SelectedText = "";
}
else
MessageBox.Show("没有选中文字!");
}
有改动的代码:
//关闭之前看文件是否保存
private void MyNotePad_FormClosing(object sender, FormClosingEventArgs e)
{
if (this.textBox1.Text != "")
{
if (!File.Exists(this.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;
}
}
}
}