Hallo,
ich würde gerne die Werte einer BindingList (PointF) als Wert mit Metern angezeigt bekommen.
Das Problem sieht wiefolgt aus:
Ich habe eine 2-spaltige Liste, welche die x- und y-Koordinaten von Punkten anzeigt (diese Werte können sich ändern, also es können neue Werte hinzukommen, gelöscht werden, ...). Die Anzeige und das Änderen erfolgt in einer Datagridview. Zurzeit werden mir noch die aktuellen Zahlen als Float Pixel-Werte von Punkten angezeigt. Ich möchte aber das die Anzeige in Metern erfolgt, wobei 10 Pixel genau einem Meter entsprechen sollen. Die Änderungsfunktionen sollen weiterhin funkionieren nur die Anzeige soll verändert werden.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38:
| BindingList<NeuPoint> PunkteListe; int PanelHoehe; int HorScroll; int VerScroll; int VerPixZuMeter; public Form1() { InitializeComponent(); PunkteListe = new BindingList<NeuPoint>(); dataGridView1.DataSource = PunkteListe; } public class NeuPoint { public int NeuX { get; set; } public int NeuY { get; set; } public NeuPoint(int x, int y) { NeuX = x; NeuY = y; } public static explicit operator PointF(NeuPoint Neuobj) { return new PointF(Neuobj.NeuX, Neuobj.NeuY);
} } private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { NeuPoint NP1= new NeuPoint(e.ColumnIndex, e.RowIndex); textBox2.Text = "Spalte: " +NP1.NeuX.ToString()+" Zeile: "+NP1.NeuY.ToString(); panel1.Invalidate(); } |
Um es kurz zu sagen: aus einer zweispaltigen Datagridview sol aus den Werten (x=)235 (y=)343 die Werte (x=)23,5m und (y=)3,43m werden.
Ich freu mich auf eure Antworten,
vg
Coja