Hallo
Ich bräuchte mal Hilfe zu einem Projekt.
Ich weiß nicht so recht wie ich da weitermachen soll. Auf dem Bild zu sehen, habe ich einmal alles mit Labels gesetzt und einmal mit dem TableLayoutPanel. Nutze das TableLayoutPanel zum ersten mal.
Wenn ich das mit dem TableLayoutPanel erstelle, gibt das Unmengen an Code nur um die Daten anzuzeigen. Dazu kommt noch der Code für die Berechnungen und der Code zum ausdrucken.
Die Anzeige ist hier aber "ansprechender" als mit einfachen Labels.
Das mit den Labels scheint mir etwas zu "unübersichtlich" zu sein. Wäre aber vom Code her am wenigsten und vom Druck her am einfachsten?
Nun kam mir noch die Idee eines eigenen "UserControls", wobei ich da aber nicht wüste wie ich das bauen soll, wie das aussehen könnte.
Gäbe es noch andere Möglichkeiten, der Darstellung und dann ausdrucken, an die ich nicht gedacht habe?
Auzug des TableLayoutPanel Code
Spoiler anzeigen
Ich bräuchte mal Hilfe zu einem Projekt.
Ich weiß nicht so recht wie ich da weitermachen soll. Auf dem Bild zu sehen, habe ich einmal alles mit Labels gesetzt und einmal mit dem TableLayoutPanel. Nutze das TableLayoutPanel zum ersten mal.
Wenn ich das mit dem TableLayoutPanel erstelle, gibt das Unmengen an Code nur um die Daten anzuzeigen. Dazu kommt noch der Code für die Berechnungen und der Code zum ausdrucken.
Die Anzeige ist hier aber "ansprechender" als mit einfachen Labels.
Das mit den Labels scheint mir etwas zu "unübersichtlich" zu sein. Wäre aber vom Code her am wenigsten und vom Druck her am einfachsten?
Nun kam mir noch die Idee eines eigenen "UserControls", wobei ich da aber nicht wüste wie ich das bauen soll, wie das aussehen könnte.
Gäbe es noch andere Möglichkeiten, der Darstellung und dann ausdrucken, an die ich nicht gedacht habe?
Auzug des TableLayoutPanel Code
VB.NET-Quellcode
-
- ' Füge Label für Header hinzu
- Dim textLabel0 As New Label() With {.Text = "Einheiten", .ForeColor = Color.Green, .AutoSize = True}
- TablePanelWohnen.Controls.Add(textLabel0, 0, TablePanelWohnen.RowCount)
- Dim minValueLabel As New Label() With {.Text = $"Min", .ForeColor = Color.Green, .AutoSize = True}
- TablePanelWohnen.Controls.Add(minValueLabel, 1, TablePanelWohnen.RowCount)
- Dim maxValueLabel As New Label() With {.Text = $"Max", .ForeColor = Color.Green, .AutoSize = True}
- TablePanelWohnen.Controls.Add(maxValueLabel, 2, TablePanelWohnen.RowCount)
- ' Erhöhe den RowCount für die nächste Gruppe von Labels
- TablePanelWohnen.RowCount += 1
- TablePanelWohnen.RowStyles.Add(New RowStyle(SizeType.Absolute, 22))
- ' Füge Label für Temperatur hinzu
- Dim textLabel As New Label() With {.Text = "Temperatur Morgens", .AutoSize = True}
- textLabel.Margin = New Padding(3)
- TablePanelWohnen.Controls.Add(textLabel, 0, TablePanelWohnen.RowCount)
- ' Setze den Wert für Min Temp Morgens
- Dim minTempValueLabel As New Label() With {.Text = $"{minTempWMo} °C", .AutoSize = True}
- minTempValueLabel.Margin = New Padding(3)
- TablePanelWohnen.Controls.Add(minTempValueLabel, 1, TablePanelWohnen.RowCount)
- minTempValueLabel.ForeColor = If(minTempWMo < 15.0, Color.Blue, minTempValueLabel.ForeColor)
- ' Setze den Wert für Max Temp Morgens
- Dim maxTempValueLabel As New Label() With {.Text = $"{maxTempWMo} °C", .AutoSize = True}
- maxTempValueLabel.Margin = New Padding(3)
- TablePanelWohnen.Controls.Add(maxTempValueLabel, 2, TablePanelWohnen.RowCount)
- maxTempValueLabel.ForeColor = If(maxTempWMo > 23.0, Color.Red, maxTempValueLabel.ForeColor)
- TablePanelWohnen.RowCount += 2
Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen.