próbuję złapać F5 na System.Windows.Forms
za to pisałem:Złap KeyUp Event na WinForm C#
partial class MainForm
{
(...)
this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyUp);
(...)
}
public partial class MainForm : Form
{
(...)
private void MainForm_KeyUp(object sender, KeyEventArgs e)
{
Log("MainForm_KeyUp");
if (e.KeyCode == Keys.F5)
{
RefreshStuff();
}
}
}
Ale moje wydarzenie wzrok wygląd nie działa.
Czy wiesz, jak cactch EventKey na System.Windows.Forms
?
Możesz najpierw spróbować przetestować go, wykonując coś takiego .... wyrzuć nowy wyjątek (e.KeyCode.ToString()); .... Może to da ci wskazówkę na temat tego, z którego klucza powinieneś skorzystać. Upewnij się również, że używasz e.Handled = true; – ismellike
Umieść punkt przerwania w pierwszym wierszu wewnątrz 'MainForm_KeyUp' i upewnij się, że faktycznie został trafiony. Co to jest 'this.KeyUp + = ...' in? Ctor? Metoda? Czy ta metoda rzeczywiście działa? Być może nie subskrybujesz wydarzenia 'KeyUp' ... –
@ismellike i Grant Winney, dodając wyjątek lub punkt przerwania, nie robisz czegoś więcej. Nawet ja nie dostałem czegoś z mojego dziennika. To potwierdza, że zdarzenie nie jest w ogóle uchwycone. – mickro