ich dachte, ich von mir selbst dieses Problem gelöst, aber es kam zurück, um meine Anwendung zu verfolgen, so geht es hier:kann nicht Strg + Key Verknüpfung auf keydown Ereignisse erkennen, wann immer es gibt eine Nur-Lese-Textbox mit Fokus
ich habe die folgend keydown Event-Handler in einer Form mit einem Paar von behinderten und nur-Lese-Textbox registriert und sie sind nur einfache Verknüpfungen für die Tasten:
private void AccountViewForm_KeyDown(object sender, KeyEventArgs e)
{
//e.SuppressKeyPress = true;
//e.Handled = true;
if (Control.ModifierKeys == Keys.Control && e.KeyCode == Keys.E && !isInEditMode)
btnEditMode_Click(sender, e);
if (Control.ModifierKeys == Keys.Control && e.KeyCode == Keys.S && isInEditMode) btnEditMode_Click(sender, e);
if (e.KeyCode == Keys.Escape) btnCancel_Click(sender, e);
if (Control.ModifierKeys == Keys.Control && e.KeyCode == Keys.W) Close();
}
die Form zu wahren KeyPreview gesetzt hat, aber immer dann, wenn eine nur-Lese-Textbox des Fokus besitzt und i drücken Strg + E Ich kann "Control.ModifierKeys == Keys.Control" und "e.KeyCode == Keys.E" nicht gleichzeitig als "wahr" angeben. Was wirklich seltsam ist, ist, dass Strg + W funktioniert. Irgendjemand hat eine Idee, was zum Teufel ist los? :(
Ich weiß, das ist alt. Ihr Code verweist auf "Control.ModifierKeys". Es sollte wohl "e.Modifiers" sein. – Metro