C# - Taste gedrückt Hörer in eine Windows Forms-Benutzersteuerelement
Guten Tag,
Möchte ich hinzufügen-Taste Hörer in eine forms-Benutzersteuerelement. Das enthalten ist in einem Hauptformular.
Wenn ein Benutzer eine Taste drückt in meiner Anwendung möchte ich es, etwas zu tun.
Wie gehe ich über das tun dies?
zum Beispiel. Wenn ich gedrückt w dann ein popup erscheinen würde, sagte Sie gepresst w.
Ich habe versucht, dies in meinem Benutzer-Steuerelement-Class;
private void UC_ControlsTank_KeyPress(object sender, KeyPressEventArgs e)
{
Console.Write("You pressed:" + e.KeyChar);
}
Aber wenn ich drücken Sie die Tasten scheint nichts zu passieren.
EDIT:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
MessageBox.Show(e.KeyChar.ToString());
}
}
Hier ist mein Fragebogen:
und hier ist, wie ich verlinkte es in visual studio:
Meinst du das Benutzersteuerelement als ein in einer Windows Forms-Anwendung oder einer ASP.NET UserControl ?
Hat Ihr Steuerelement den Fokus haben?
Windows Forms
Hat Ihr Steuerelement den Fokus haben?
Windows Forms
InformationsquelleAutor Zapnologica | 2013-11-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zunächst vor der Aufnahme Drücken Sie die
KeyPreview
Eigenschaft der Win-Formtrue
. Es sei denn, Sie setzen Sie es auf true ein Tastendruck nicht erfasst werden.Klicken Sie auf der WinForm und drücken Sie die F4-Taste wird das Eigenschaften-Fenster angezeigt, Dort legen Sie die KeyPreview auf true. standardmäßig seine auf false gesetzt.
Auch diese sollten gesetzt werden, wenn Sie versuchen zu fangen eine Taste gedrückt, auf andere Steuerung als die form selbst(z.B. TextBox)
InformationsquelleAutor Kurubaran
Es ist ein
KeyPressed
Fall, dass Sie verwenden können,Kontrolle.KeyPress-Ereignis
Dieser hat
System.Windows.Forms.KeyEventArgs e
wird Ihnen sagen, welche Taste gedrückt wurdeEdit:
So, ich habe gerade versucht diese auf eine Beispiel-app, und es funktionierte gut
Die Veranstaltung gehört zu der Kontrolle, so dass es funktioniert in WinForms
Sogar Cant get welken diese Lösungen arbeiten in der main-form:
Wie sind Sie mit dem Haken die Veranstaltung? Ich update meine Antwort mit dem, was ich Tat, und es funktioniert. Sind Sie mit Visual Studio?
Ich nehme einfach ein temp-Projekt-und es funktionierte auch. nun ging ich zurück und versuchte wieder in die im Projekt arbeiten (in der main-form nicht die UC -) und es hat nicht funktioniert, was ist sonderbar? Siehe mein edit
InformationsquelleAutor David Pilkington
Hier ist ein Beispiel ,
oder
Verweis auf diese Überschreiben von Keydown-Ereignis in einem Steuerelement mit ProcessKeyPreview .
leider usercontrol nicht
KeyPreview
Eigenschaft, denke ich. Siehe mein edit . Dieser Link wird dir helfen !Sicherlich gibt es einen einfacheren Weg, als mit ProcessKeyPreview
InformationsquelleAutor zey