我的记事本克隆程序中有这段代码,它用于跟踪我的克拉位置,RichTextBox
并且对我来说工作正常。
private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
{
Curpos();
}
private static int EM_LINEINDEX = 0xbb;
[DllImport("user32.dll")]
extern static int SendMessage(IntPtr hwnd, int message, int wparam, int lparam);
private void Curpos()
{
{
int line, col, index;
index = richTextBox1.SelectionStart;
line = richTextBox1.GetLineFromCharIndex(index);
col = index - SendMessage(richTextBox1.Handle, EM_LINEINDEX, -1, 0);
Lblcurpos.Text = "Line: " + (++line).ToString() + ", Column:" + (++col).ToString();
}
}
在我添加一些代码以便我可以使用 Esc 键关闭我的程序之前,它对我来说一直工作得很好。这是我的 Esc 键的代码:
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
this.Close();
}
}
编辑:这就是问题所在:
index = richTextBox1.SelectionStart;
当我这样做时,我可以很好地运行我的程序,在我的RichTextBox
和所有内容中输入文本,但是当我按下 Esc 键时它说:
无法访问已处置的对象对象名称:“RichTextBox”
然后是说:
故障排除提示: 在尝试使用之前,请确保您没有释放资源。获取有关此异常的一般帮助
关于我能做什么的任何想法?我尝试使用快捷键,但它没有可用于快捷键的 Esc 键。任何有关执行不同快捷方式或解决此问题的帮助,我想要它!