在記事本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;
}
}
}
}