Здравствуйте!
Буду очень благодарен,если кто-нибудь поделится решением следующей задачи:
в RichTextBox повесил обработчики на комбинации ctrl+z и ctrl+y — "Отменить" и "Повторить",как в стандартном текстовом редакторе:
void SyntaxBox_KeyDown(object sender, KeyEventArgs e)
{
...
else if ((e.Modifiers==Keys.Control) && (e.KeyCode == Keys.Z))
{
...
}
else if ((e.Control) && (e.KeyCode == Keys.Y))
{
...
}
...
}
Так если нажать ctrl+z,чтоб отменить действие,затем ctrl и z отпустить и нажать ctrl+y,комбинация ctrl+y нужные действия ("Повторить действие") не вызовет,а если при нажатии
ctrl+z отпустить только z,а ctrl не отпускать и затем нажать y,то комбинация ctrl+y сработает.
Кто знает,в чем загвоздка?
Спасибо за внимание.
28.01.07 11:47: Перенесено модератором из '.NET' — AndrewVK
Здравствуйте, Strokulist, Вы писали:
S>Здравствуйте!
S>void SyntaxBox_KeyDown(object sender, KeyEventArgs e)
S>{
S> ...
S> else if ((e.Modifiers==Keys.Control) && (e.KeyCode == Keys.Z))
S> {
S> ...
S> }
S> else if ((e.Control) && (e.KeyCode == Keys.Y))
S> {
S> ...
S> }
S> ...
S>}
S>Так если нажать ctrl+z,чтоб отменить действие,затем ctrl и z отпустить и нажать ctrl+y,комбинация ctrl+y нужные действия ("Повторить действие") не вызовет,а если при нажатии
S>ctrl+z отпустить только z,а ctrl не отпускать и затем нажать y,то комбинация ctrl+y сработает.
S>Кто знает,в чем загвоздка?
S>Спасибо за внимание.
Так у тебя ж они по-разному определяются (смотри выделенное)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>