我编写用于编辑 sql 程序的小应用程序并使用出色的ScintillaNET代码编辑器控件。我为保存文件定义了一个 Ctrl+S 快捷方式:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Control | Keys.S))
{
saveToolStripButton_Click(this.saveToolStripButton, null);
}
else if (keyData == (Keys.Control | Keys.O))
openToolStripButton_Click(this.openToolStripButton, null);
else if (keyData == (Keys.Control | Keys.N))
newToolStripButton_Click(this.newToolStripButton, null);
else if (keyData == (Keys.Control | Keys.W))
{
if (this.tabControl2.SelectedTab != null)
(this.tabControl2.SelectedTab as WorkspaceControl).closeSelectedFile();
}
return base.ProcessCmdKey(ref msg, keyData);
}
当我只是重新保存旧文件时,一切正常,但是当它的新文件 - 在 SaveFileDialog 关闭并保存文件之后 - 字母“s”被添加到我的编辑器的末尾。我该如何预防?