Die Definition einer MouseEventHandler in C#
Ich versuche zu definieren MouseEventHandlers, so dass die Anwendung wird beendet, sobald die Maus geklickt oder verschoben wird oder wenn eine Taste gedrückt wird. Dies ist mein erstes mal mit C#, aber basierend auf was ich online gefunden, die ich geschrieben habe den code wie folgt:
MouseDown += new MouseEventHandler(mouseClickedResponse);
MouseMove += new MouseEventHandler(mouseMovedResponse);
KeyDown += new KeyEventHandler(keyResponse);
verbindet:
private void keyResponse(object sender, EventArgs e)
{
Application.Exit();
}
private void mouseClickedResponse(object sender, EventArgs e)
{
Application.Exit();
}
private void mouseMovedResponse(object sender, EventArgs e)
{
if (firstCall) //Keeps the application from exiting immediately
firstCall = false;
else Application.Exit();
}
Das problem, dass ich zu finden bin ist, dass, während die KeyEventHandler funktioniert perfekt, ich kann mich bewegen und klicken mit der Maus so viel wie ich will ohne Erfolg.
Dies ist die Summe, die der code, den ich geschrieben habe, damit für Benutzer die Kontrolle; bin ich etwas fehlt?
Was Steuern sind, die Sie Einhaken? Auch.... furchtbar ärgerlich und seltsam Programm-Verhalten IMO. Einfach nur neugierig; was ist die Argumentation hinter solchen... "feature"?
Ich mache einen Bildschirmschoner--ich bin damit einverstanden, dass dies anstößig sein unter fast allen anderen Umständen, wäre es anstößig, wenn ich es NICHT in diesem Fall. Was meinst du mit einbinden in eine Kontrolle?
Der einzige logische Grund dafür ist, sich wie ein Bildschirmschoner; gibt es einen Grund, Sie sind nicht nur dabei, statt? Wenn es das ist, was du tust, das ist ein Duplikat von diese Frage oder mehrere andere (über die Suchfunktion der Seite für
Warten, ist, dass eine Sache, die Sie tun können? Wie? Egal, ich kann immer noch nicht die MouseEventHandler zu arbeiten, und ich würde gerne wissen, wie zu tun, oder als künftige Referenz auf.
Siehe den link in meinem letzten Kommentar, oder durchsuchen Sie diese Website für
Ich mache einen Bildschirmschoner--ich bin damit einverstanden, dass dies anstößig sein unter fast allen anderen Umständen, wäre es anstößig, wenn ich es NICHT in diesem Fall. Was meinst du mit einbinden in eine Kontrolle?
Der einzige logische Grund dafür ist, sich wie ein Bildschirmschoner; gibt es einen Grund, Sie sind nicht nur dabei, statt? Wenn es das ist, was du tust, das ist ein Duplikat von diese Frage oder mehrere andere (über die Suchfunktion der Seite für
screensaver
mit einem c# - Tags).Warten, ist, dass eine Sache, die Sie tun können? Wie? Egal, ich kann immer noch nicht die MouseEventHandler zu arbeiten, und ich würde gerne wissen, wie zu tun, oder als künftige Referenz auf.
Siehe den link in meinem letzten Kommentar, oder durchsuchen Sie diese Website für
[c#] screensaver
.InformationsquelleAutor bionicOnion | 2012-02-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Auf der Oberfläche, sieht alles gut aus mit dem code.
Eine Möglichkeit - Die
MouseEventHandler
definiert ist, in der sowohl dieSystem.Windows.Input
( MSDN ) - namespace als auch denSystem.Windows.Forms
namespace (MSDN).Ich glaube, die, die Sie wollen, ist das in der
Forms
namespace. Ist es möglich, dass Sie über die von derInput
- namespace anstelle?System.Windows.Input
besser funktionieren würde, und es nicht erkennen, es ist, sagen mir, ich wurde fehlt ein Assemblyverweis.Wenn das der Fall ist, fügen Sie einfach einen Verweis darauf. Einen Versuch Wert, obwohl wie gesagt, meine Hoffnung war, dass Sie bereits - Referenzierung, und der Wechsel zu
Forms
würde es beheben. Noch einen Versuch Wert, obwohl.Kann ich eigentlich nicht finden, dass der Verweis in der Liste der möglichen
System
Referenzen Visual Studio gibt mir; die nächsten, die ich finden kann, istSystem.Windows.Input.Manipulations
. Suche ich an der falschen Stelle, oder funktioniert das Visual Studio Express nicht nur einige bits .NET?System.Windows.Input
ist eine WPF-namespace, so es ist nicht verfügbar, wenn Sie nicht mit WPF. Also, was gesagt wird... da bin ich überfragt.Naja. Vielen Dank für Ihre Hilfe.
InformationsquelleAutor Jeremy Wiggins
Versuchen, diese...
dann
...wo Sie ersetzen Form1 " mit dem Namen des Formulars.
InformationsquelleAutor JimDel
Habe ich Fix mein problem-mein
Form
war gefüllt mitPanels
, und durch verschieben der code für Maus-Eingabe über die Platten, alles funktionierte sofort.InformationsquelleAutor bionicOnion
Ändern:
:
Sollte es jetzt funktionieren.
InformationsquelleAutor coding_is_fun