У меня есть этот кусок кода в моей программе клонирования «Блокнот», это отслеживать местоположение моего карата в моем RichTextBox
и отлично работает для меня.Как я могу исправить эту ошибку Esc Key?
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();
}
}
EDIT: Это где есть проблема:
index = richTextBox1.SelectionStart;
Когда я делаю это, я могу запустить мою программу тонкой, тип текст в моем RichTextBox
и все, но когда я нажимаю Esc ключ он говорит:
не может получить доступ, расположенный объект имени объекта: «R ichTextBox»
Тогда это говорит:
Поиск и устранение неисправностей Советы: Убедитесь, что вы не выпустили ресурс, прежде чем использовать это. Получить общую помощь по этому поводу
Любые идеи о том, что я могу сделать? Я попытался использовать клавиши быстрого доступа, но у него нет клавиши Esc, которую вы можете использовать для ярлыка. Любая помощь при выполнении другого ярлыка или исправления этой проблемы, я бы хотел!
Извините, что не публиковал сообщение о моей ошибке, см. Мое последнее изменение. – Dozer789
Вы попробовали это? – Shaharyar
Я сделал что-то не так, когда я сначала попробовал, и это не сработало, просто попробовал еще раз, и это сработало ... Не знаю, что я сделал не так. – Dozer789