Frage

Ich habe Probleme beim Capturing Strg + BildAuf Tastendruck in einem Listview-Steuerelement in WinForms-Anwendung.

Ich bin mit diesem Code zu erfassen Tastenanschläge -

private void ListViewEx_KeyDown(object sender, KeyEventArgs e)
{
...
if(e.Control){
if((e.KeyCode ^ Keys.Left) == 0)
    MessageBox.Show("Left"); //shows messagebox
else if((e.KeyCode ^ Keys.PageUp) == 0)
    MessageBox.Show("PageUp"); //does not
...
}

Muss ich tauchen Sie ein in WndProc diesen Schlüssel bearbeiten? Danke.


Edit: Ich habe, dass dies funktioniert fand heraus, war das Problem TabControl in umschließenden diese Schlüssel Handhabung vor List ihnen bekam

.
War es hilfreich?

Lösung

Keine Notwendigkeit für WndProc:

if ((e.Modifiers & ModifierKeys) == Keys.Control && e.KeyCode == Keys.PageUp)
{
    // ctrl + page up was pressed
}

Andere Tipps

Das e.KeyData Argument enthält die Zusatztasten. Aussehen es wie folgt aus:

  if (e.KeyData == (Keys.Control | Keys.PageDown)) {
    // Do your stuff
    Console.WriteLine("Ctrl+PgDn");
  }

Check für

Keys.Control | Keys.PageUp
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top