Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Sonstige Fragen (http://www.informatikerboard.de/board/board.php?boardid=25)
--- float Location C# (http://www.informatikerboard.de/board/thread.php?threadid=1574)
Geschrieben von InformaTiger am 05.08.2013 um 21:01:
float Location C#
Hallo,
ich wollt fragen ob es irgendwie möglich ist eine PictureBox nach einem float aus zurichten.
| code: |
1:
2:
3:
|
PictureBox test = new PictureBox();
test.Location = new PointF(0.23, 0.453);
|
|
Danke schon im voraus
Lg
InformaTiger
Geschrieben von eulerscheZahl am 06.08.2013 um 17:35:
Wie soll das dann überhaupt aussehen? Soll das dann in Bezug zur Gesamtgröße sein, oder wie hattest du dir das vorgestellt?
Nein, das wird in Pixeln Abstand nach links und oben angegeben.
PointF habe ich noch nie gebraucht, nichtmal als ich mir einen Funktionsplotter gebastelt habe, keine Ahnung, wofür das gut sein soll.
Falls meine Interpretation mit dem Bezug zur Gesamtgröße richtig sein sollte (ungetestet):
| code: |
1:
2:
|
test.Left = (int)(this.Width * 0.23);
test.Top = (int)(this.Height * 0.453); |
|
Wahrscheinlich hast du es schon, für den Fall dass nicht, weise ich trotzdem darauf hin:
| code: |
1:
|
test.Parent = this; |
|
sonst siehst du keine PictureBox und wuderst dich, ging mir zumindest das erste Mal so.
Geschrieben von InformaTiger am 11.08.2013 um 21:33:
Hallo,
hat sich inzwischen erledigt... hab ne andere Lösung gefunden.
Der Interesse halber: ich meinte ob es möglich ist eine PictureBox eben nicht in Integerwerten (Ganze Zahlen) sondern in Floatwerten (Gleitkommazahlen) zu platzieren. Etwa so wie im Anhang.
Danke
Lg
InformaTiger
Geschrieben von El Homo am 04.09.2013 um 08:30:
PictureBox.Location Float
und ?? geht es oder nicht ?
Geschrieben von eulerscheZahl am 04.09.2013 um 10:07:
Nein, das geht nur mit Ganzzahlen.
Was man machen kann: Die Position als float speichern und beim Verschieben dann auf Ganzzahlen runden.
Geschrieben von InformaTiger am 06.09.2013 um 16:16:
Ok, Danke!
Dann ist das Verschieben von PictureBoxen in einen beliebigen Winkel also nur durch ein Verhältnis zwischen x und y möglich?
Lg
InformaTiger
Geschrieben von eulerscheZahl am 06.09.2013 um 16:25:
Aber das reicht doch auch!
![[latex]\Delta x = l \cdot \sin(\alpha) \\ \Delta y = l \cdot \cos(\alpha)[/latex]](http://www.matheboard.de/latex2png/latex2png.php?\Delta x = l \cdot \sin(\alpha) \\ \Delta y = l \cdot \cos(\alpha))
wobei l die Länge ist, um die du verschieben willst.
Geschrieben von InformaTiger am 06.09.2013 um 16:29:
Aber genau da ist ja das Problem, dass ich diese nicht um einen float- wert verschieben kann!!! Zumindest hat das bei mir nicht geklappt...
Lg
InformaTiger
Geschrieben von eulerscheZahl am 06.09.2013 um 16:43:
PointF echtePosition = ...; bzw. selbst eine struct mit double definieren, Math.Sin und Math.Cos geben auch ein double zurück.
mit echtePosition wird dann auch immer gerechnet/verschoben.
Und nur bei der Ausgabe auf den Bildschirm dann:
pictureBox.Left = (int)echtePosition.X;
pictureBox.Top = (int)echtePosition.Y;
Intern wird die Position also weiter als float/double gespeichert.
Forensoftware: Burning Board, entwickelt von WoltLab GmbH