Überprüfen ob eine pictureBox angeklickt wurde bzw. wird, mit einem Timer.
-
Hallo,
meine Frage wäre ,wie der Titel schon sagt, wie man überprüfen kann ob ein pictureBox angeklickt wird, mit einem Timer.Meine Vorstellung wäre so:
if(pictureBox1->Click) { //... }
Doch das bringt Fehler mit sich:
error C3918: Für die Syntax muss "System::Windows::Forms::Control::Click" ein Datenmember sein.
und
Siehe Deklaration von 'System::Windows::Forms::Control::Click'
Ich habe gegoogelt und herausgefunden das pictureBox ein Control::Click hat(http://msdn.microsoft.com/de-de/library/system.windows.forms.control.click(v=vs.110).aspx).Bin jetzt verwirrt
-
Das ist ein Event. Du brauchst keinen Timer, sonderen das Event wird aufgerufen sobald das Ereignis eintritt.
pictureBox.Click += new EventHandler(pictureBox_Click);
private void pictureBox_Click(object sender, EventArgs e) { }
Das portieren auf C++/CLI sollte kein Problem sein.
-
Erstmal Danke für die Antwort doch das weiß ich, aber geht das nicht mit einem Timer?Meine Situation ist, das der Click-Event schon von der pictureBox existiert.Und das Click-Event macht was anderes und das mit if(pictureBox1->Click) { //... } macht auch was anderes, hoffe kannst mir folgen ;).
-
Erstmal Danke für die Antwort doch das weiß ich, aber geht das nicht mit einem Timer?
Wozu ne hacky Lösung basteln (die du vermutlich eh nicht ohne weiteres hinbekommst) statt der perfekten Lösung?
Meine Situation ist, das der Click-Event schon von der pictureBox existiert
Lies dich dochmal über Events ein.
Du kannst an ein event beliebig viele Eventhandler registrieren.und das mit if(pictureBox1->Click) { //... } macht auch was anderes
Das ist ja auch Quatsch.
-
Wie kann ich es dann machen?Ich bräuchte ein "1Event_Click" Event von der pictureBox1 dazu noch ein "2Event_Click" von der pictureBox1.Durch einen anderen Event sollte das "1Event" "abgeschaltet" werden und das "2Event" "aktiviert" werden.
-
Was genau willst du erreichen ?
Warum nicht einfachbool condition; private void pictureBox_Click1und2(object sender, EventArgs e) { if(condition) { //case 2 } else { //case 1 } } private void anderesEvent(object sender, EventArgs e) { condition = true; }
-
Genau das Danke!