2008.Net, Mehrzeiliger Text in Label

26/10/2008 - 19:51 von Maximilian Menig | Report spam
Hallo,
jetzt habe ich mit VB 2008 angefangen und komme nicht einmal mit den
einfachsten Dingen klar. Umsetzen eines Projektes von QBasic nach
VisualBasic 2008 Express.
Von einer Vorlage (Abfrage eines USB-Anschlusses, passender Schnippsel
ist vorhanden) bekomme ich Messwerte geliefert. Diese wollte ich in einer
Labelbox anzeigen. (Nur Anzeige und keine Verànderung durch den Anwender)
In jeder Zeile soll ein Wert stehen, gefolgt von Einheit, Datum und
Uhrzeit. Beim Erreichen von zehn Werten sollen die Werte nach oben
scrollen. Es erscheint immer nur der letzte Wert.
Wie kann ich die Werte mehrzeilig darstellen?

Dann möchte ich die Werte noch in einer Grafik darstellen. Damit fange
ich erst an, wenn die Zahlen auf dem Bildschirm erscheinen.

Gibt es für Anfànger ein gutes Buch?

Gruß
Max
 

Lesen sie die antworten

#1 Peter Fleischer
26/10/2008 - 21:10 | Warnen spam
"Maximilian Menig" schrieb im Newsbeitrag
news:

jetzt habe ich mit VB 2008 angefangen und komme nicht einmal mit den
einfachsten Dingen klar. Umsetzen eines Projektes von QBasic nach
VisualBasic 2008 Express.
Von einer Vorlage (Abfrage eines USB-Anschlusses, passender Schnippsel
ist vorhanden) bekomme ich Messwerte geliefert. Diese wollte ich in einer
Labelbox anzeigen. (Nur Anzeige und keine Verànderung durch den Anwender)
In jeder Zeile soll ein Wert stehen, gefolgt von Einheit, Datum und
Uhrzeit. Beim Erreichen von zehn Werten sollen die Werte nach oben
scrollen. Es erscheint immer nur der letzte Wert.
Wie kann ich die Werte mehrzeilig darstellen?



Hi Maximilian,
wenn du die Werte mit NewLine getrennt in ein ausreichend hohes
Label-Steuerelement schreibst, werden sie untereinander angezeigt.

Hier mal ein kleine Demo; einfach in den Codeteil eines leeren Formulars
einer Windows-Anwendung schreiben. Mit einem Zeitgeber werden Werte in eine
FIFO-Schlange geschrieben, die auf 10 Elemente begrenzt wird.

Option Infer On
Option Strict On

Public Class Form1

Dim lbl As New Label With {.Dock = DockStyle.Top, .Height = 150}

Dim q As New Queue(Of String)

Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Me.Controls.Add(lbl)

Dim t As New Timer With {.Interval = 500}
AddHandler t.Tick, AddressOf Anzeige
t.Start()

End Sub

Private Sub Anzeige(ByVal sender As Object, ByVal e As EventArgs)
Static i As Integer = 0
i += 1
q.Enqueue(String.Format("{0:HH:mm:ss.fff} Zeile {1}", Now, i))
If q.Count > 10 Then q.Dequeue()
lbl.Text = Join(q.ToArray, vbNewLine)
End Sub

End Class


Viele Grüsse
Peter

Ähnliche fragen