c#
hallo leute ich habe ein kleines problem in c# vllt könnt ihr mir helfen.
stellt euch vor ihr habt ein panel 100x100 größe. und neben dem panel 2 labels . ihr geht mit der maus über den panel und im label werden die koordinaten des panels angezeigt. wenn ihr ganz oben rechts mit der maus hingeht steht da 0,0 und ganz unten link steht 100,100 in den labels. wie schaffe ich es so umzuwandeln dass die maus erkennt dass die position in dem label 0,0 nich oben rechts ist sondern in der mitte des labels.
thx im vorraus
MFG
stellt euch vor ihr habt ein panel 100x100 größe. und neben dem panel 2 labels . ihr geht mit der maus über den panel und im label werden die koordinaten des panels angezeigt. wenn ihr ganz oben rechts mit der maus hingeht steht da 0,0 und ganz unten link steht 100,100 in den labels. wie schaffe ich es so umzuwandeln dass die maus erkennt dass die position in dem label 0,0 nich oben rechts ist sondern in der mitte des labels.
thx im vorraus
MFG
Mein kleines Projekt
-Cruel Online-
-Cruel Online-
zieh 50 von der y Koordinate ab und zieh die y Koordinate von 50 ab.
Aber meinst du nicht dass 0,0 oben links ist?
Aber meinst du nicht dass 0,0 oben links ist?
Über mich: www.heinervdm.de
Persönlich Mitteilungen an mich bitte als PN (nicht Email) hier im Forum. ICQ und Skype bitte nur in Notfällen.
Persönlich Mitteilungen an mich bitte als PN (nicht Email) hier im Forum. ICQ und Skype bitte nur in Notfällen.
ja meinte ich oben link. aber es geht darum dass ich die private variablen der klasse maus verwende und die können nicht geändert werden.
http://cccpmik.ath.cx/share/mik/MathExpert.exe
hier ist das programm(.net benötigt) an der seite seht ihr die labels in den ersten beiden wird angezeigt welchen wert die maus gerade hat und den unteren beiden wird angezeigt wo sich gerade der mittelpunkt des koordinaten systems befindet. ich will das koordinaten system veschieben können mit buttons kann ich das aber es muss mit maus gehen vllt wenn ihr euch das programm anguckt fällt euch was ein
MFG
http://cccpmik.ath.cx/share/mik/MathExpert.exe
hier ist das programm(.net benötigt) an der seite seht ihr die labels in den ersten beiden wird angezeigt welchen wert die maus gerade hat und den unteren beiden wird angezeigt wo sich gerade der mittelpunkt des koordinaten systems befindet. ich will das koordinaten system veschieben können mit buttons kann ich das aber es muss mit maus gehen vllt wenn ihr euch das programm anguckt fällt euch was ein
MFG
Mein kleines Projekt
-Cruel Online-
-Cruel Online-
Zitat
Original von rasu
Hi,
ich würde das ganze mathematisch angehen mit der Formel:
label1 = BetragVon(position1 - 50);
label2 = BetragVon(position2 - 50);
damit sollte denke ich genau das rauskommen was du möchtest.
lg
also das ist doch mal entlich ne vernünftige antwort
vielen dankt nun muss ich herausfinden wie ich die mitte um so viele pixel verschiebe wie die maus zurückgelegt hat
Mein kleines Projekt
-Cruel Online-
-Cruel Online-
den Privaten Variablen der Maus kannst du das glaub ich nicht beibringen das der 0-Punkt wo anders ist.
Sondern du musst deine eigenen Variablen definieren die du dann am Label ausgibts und die kannst du mit hilfte der Mauskoordinaten berechnen. (siehe Formel oben... statt 50 musst du dann halt die entsprechenden Werte verwenden die gerade zum Mittelpunkt passen)
Also ich kann bei deinem Programm den Mittelpunkt mit der Maus verschieben... oder verstehe ich da jetzt was falsch?
Sondern du musst deine eigenen Variablen definieren die du dann am Label ausgibts und die kannst du mit hilfte der Mauskoordinaten berechnen. (siehe Formel oben... statt 50 musst du dann halt die entsprechenden Werte verwenden die gerade zum Mittelpunkt passen)
Zitat
ich will das koordinaten system veschieben können mit buttons kann ich das aber es muss mit maus gehen vllt wenn ihr euch das programm anguckt fällt euch was ein
Also ich kann bei deinem Programm den Mittelpunkt mit der Maus verschieben... oder verstehe ich da jetzt was falsch?
Interessante Selbstgespräche setzen einen klugen Gesprächspartner voraus...
ne du kannst ihn zwar verschieben aber nur innerhalb des pannels ich will aber dass man ihn noch weiter verschiebt so dass man die mitte nicht mehr auf dem bildschirm sieht. es geht nähmlich um eine lineare funktion die ein schnittpunkt mit der y achse bei +- 1000 hat dass man die trotzdem noch sieht. skalieren werde ich noch einbauen aber ich will trotzdem dass man den punkt bei egal welchen zoom faktor auf dem bildschirm hat. dazu muss ich ja logisch betrachtet ermitteln in welche richtung und wie weit ich meine maus bewegt habe während ich die linke maustaste gehalten habe. und dieses zu der mitte dazuzählen ich werde das mal versuchen mathematisch irgendwie zu lösen zb mit wurzel aus (y2-y1)*(x2-x1) oder so. es seidenn jemand sagt mir ob es eine funktion in c# gibts wo man sowas ermittelt ohne extra zu rechnen
Mein kleines Projekt
-Cruel Online-
-Cruel Online-
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »cccpmik« (20. Dezember 2007, 23:34)


