C# Geeignetes Key - Ereignis |
02.04.2013, 12:18 | Auf diesen Beitrag antworten » | |||||
InformaTiger | C# Geeignetes Key - Ereignis Hallo, ich suche für das Projekt (siehe Anhang) ein geeignetes Key Ereignis welches mir mit folgendem Code die Location des aktiven Buttons verändert:
Im Anhang ist ein Screenshot des Projekts um besser zu verstehen was ich meine. Wie im Bild zu sehen ist: ein Button wurde bereits verschoben und jetzt da er aktiv ist, sollte es anhand des Codes von oben möglich sein den Button mit den Pfeiltasten zu verschieben. Lg InformaTiger |
|||||
|
||||||
02.04.2013, 13:09 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Nimm KeyDown oder KeyUp (gibt noch KeyPress, das reagiert aber nicht auf Pfeiltasten). Also entweder dann Ereignis der aktiven Komponente auswerten, oder so:
KeyPreview sorgt dafür, dass Form1 das Ereignis mitgeteilt bekommt (auch wenn du z.B. in eine TextBox schreibst). |
|||||
02.04.2013, 13:18 | Auf diesen Beitrag antworten » | |||||
InformaTiger | Ich habe das gerade so versucht, leider wechselt der Computer nur zwischen den Buttons... vielleicht ist ja bei meinem Switch- Code etwas falsch. Lg InformaTiger |
|||||
02.04.2013, 13:20 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Landet das Programm im switch-Block? |
|||||
Anzeige | ||||||
|
||||||
02.04.2013, 13:26 | Auf diesen Beitrag antworten » | |||||
InformaTiger | Ja! Ok, jetzt funktioniert es... hab nur ne Kleinigkeit vergessen...
Habe einfach die Steuerung von den Richtungstasten aud A,S,D,W verlegt. Danke! edit: Bitte bessere mich aus, wenn das keine gute Variante ist... Lg InformaTiger |
|||||
02.04.2013, 14:47 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Ich habe dein Problem jetzt verstanden: Bei Pfeiltasten/Tab wird ein anderer Button aktiv, statt dass die Routine abgehandelt wird. Das Auslagern auf WASD ist natürlich möglich, umgeht das Problem aber mehr, als es zu beheben. Die Klasse KeyboardNavigation sollte das verhindern können, nur finde ich die bei mir nicht, System.Windows.Input enthält nur den namespace Manipulations. Edit: gefunden, steht nur für WPF-Anwendungen zur Verfügung. |
|||||
02.04.2013, 15:10 | Auf diesen Beitrag antworten » | |||||
InformaTiger | Nun habe ich ein weiteres Problem... Gibt es eine Eigenschaft die einem Panel sagt es soll keine anderen Steuerelemente annehmen? Lg InformaTiger |
|||||
02.04.2013, 15:33 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Kannst du die Frage präzisieren, ich weiß nicht, worauf du hinauswillst? |
|||||
02.04.2013, 15:57 | Auf diesen Beitrag antworten » | |||||
InformaTiger | Ja, dass wenn wir wieder von meinem Beispiel sprechen (siehe Anhang) dann verändert sich die Location der Buttons wenn man sie in ein Panel zieht auf -1; -1 und ich möchte dass sie ihre ursprüngliche Form bspw. 415; 69 beibehalten. Damit ich die Location des Buttons mit der des Panels vergleichen kann. Lg InformaTiger |
|||||
02.04.2013, 16:09 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Kannst du nicht einfach die Location des Panels draufaddieren? |
|||||
02.04.2013, 16:10 | Auf diesen Beitrag antworten » | |||||
InformaTiger | Ich habe leider keine Ahnung ob und wie das geht Lg InformaTiger |
|||||
02.04.2013, 16:23 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | ich meinte etwa so: int eigentlichX = button1.Location.X + panel1.Location.X; Bei mir steht aber auch nicht -1;-1 in Button1.Location, sondern die relative Position im Panel. Tauchen die Koordinaten -1;-1 zur Entwurfs- oder Laufzeit auf? Verstehe ich das eigentlich richtig, dass du Buttons zum Anzeigen von Bildern zweckentfremdest? Dafür gibt es eigentlich die PictureBox. |
|||||
02.04.2013, 16:38 | Auf diesen Beitrag antworten » | |||||
InformaTiger | Zu den Panels: Ich verwende die Panels nur als Orientierungspunkt für den Benutzer (Weißer Hintergrund, FixedSingle Border). Zu den Koordinaten: Die Koordinaten tauchen in der Entwurfszeit bei den Buttons auf. Aber: Ich glaube der Code den du hier geschrieben hast macht für mich in diesem Zusammenhang wenig Sinn...
Lg InformaTiger |
|||||
02.04.2013, 16:50 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Eine Zeile mit 1351 Zeichen?! Und dann noch Indizes, die wild durcheinander gehen. Das muss auch anders gehen, ich rate zu einem Array von Anzeigeelementen. Dürfte jetzt ein gewisser Aufwand sein, das alles nochmal umzustellen, zahlt sich aber durch den einfacheren Umgang wieder aus. Hast 'ne Mail. |
|||||
02.04.2013, 17:01 | Auf diesen Beitrag antworten » | |||||
InformaTiger | Naja, damit kenne ich mich leider gar nich aus... oder ich versteh nicht was du meinst. Lg InformaTiger |
|||||
03.04.2013, 21:30 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Irgendwo ist noch ein kleiner Fehler drin, aber ich denke man kann erkennen, wie es im Prinzip funktioniert: evtl. in Zeile29 den Pfad ändern. edit: ich sollte abends nicht mehr programmieren... Läuft jetzt.
|
|||||
06.04.2013, 12:13 | Auf diesen Beitrag antworten » | |||||
InformaTiger | Nun das Problem daran ist mal natürlich wieder, dass ich das leider nicht verstehe... vielleicht wäre es mit Kommentare übersichtlicher. Mein Auge ist so von meinen Programmierkonventionen geprägt, dass ich andern Code leider kaum verstehen kann. Zumal verstehe ich nicht was enum ist. Vom Code verstanden habe ich nur eines: Dass der Code die Bilder durch Zufall auswählt, man Sie durch bewegen(); verschieben kann und sonst leider nicht viel... PS: Wenn es möglich ist kannst du mir das gegebenenfalls über Email erklären. Nächste Woche bin ich leider voll ausgebucht -.- Lg InformaTiger |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
Die Neuesten » |
|