vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
ListBox, Einträge rechtsbündig 
Autor: spatzimatzi
Datum: 06.01.17 13:51

Hallo,
habe eine ListBox und möchte die Einträge rechtsbündig ausgerichtet haben.

Nur als Beispiele:
1 Millimeter
10 Millimeter
100 Millimeter

Zunächt gelöst habe ich mein Problem über den Wechsel des Fonts.
Nutze dafür Courier New als nichtproportionale Schrift.

Leider passt die Schrift nun gar nicht zur Anwendung.

Habt ihr eine Idee. Im Forum habe ich nichts passende gefunden.

Viele Grüße
spatzimatzi
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ListBox, Einträge rechtsbündig 
Autor: Rippler
Datum: 06.01.17 15:11

righttoleft auf yes einstellen
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ListBox, Einträge rechtsbündig 
Autor: spatzimatzi
Datum: 06.01.17 15:36

Hallo Rippler,
vielen Dank für den Tipp.

Die Einträge werden rechtsbündig geschrieben.

Aber nicht als:

1 Millimeter sondern als Millimeter 1

Man könnte die Angabe RightToLeft zweckentfremden, aber die Ziffern stehen
auch nicht nach Größe sortiert untereinander

Viele Grüße
spatzimatzi
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ListBox, Einträge rechtsbündig 
Autor: effeff
Datum: 06.01.17 16:12

Moin!

Das ist normal nicht vorgesehen in der ListBox.

BTW: Warum benutzt Du nicht einfach z. B. ein DataGridView, schreibst Deine Daten in eine damit verbundene Tabelle, welche nur eine Spalte hat und formatierst das DataGridView entsprechend mit DataGridViewCellStyle.Alignment?

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ListBox, Einträge rechtsbündig 
Autor: Franki
Datum: 07.01.17 02:32

Hallo,

sind es nur die Ziffern (Zahlen) die ausgerichtet werden sollen?
Denn wenn du da in einem Eintrag die Konbination aus Text und Zahlen hast wird das nicht wirklich funitionieren.

Du musst entweder getrennte Spalten für den Text und die Zahlen verwenden, denn nur dann kannst du z.B. 1,10,100 usw. rechtsbündig ausrichten. Besser mit Formatierung wie z.B. 1,00, 10,00, 100,00 usw.

Die Einheit steht normalerweise davor. Wenn du numerische (optische) Ausrichtung möchtest, dann sollte der Text unabhängig vom numerischen Wert sein, denn sonst stehen z.B. 0,1 Zentimeter nicht mit 10 Millimeter untereinander obwohl das der gleiche Wert ist.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ListBox, Einträge rechtsbündig 
Autor: Manfred X
Datum: 07.01.17 08:57

Hallo!

Die Listbox besitzt die "Drawmode"-Eigenschaft.
Wenn Du sie auf den Wert "OwnerDrawfixed" einstellst,
kannst Du im "DrawItem"-Event die Einträge selbst zeichnen.
Das dort im Eventargs-Parameter übergeben Graphics-Element
besitzt die "Measurestring"-Eigenschaft, mit der Du die Größe
der auszugebenden Teilstrings eines Eintrags bestimmen und
eine entsprechende Platzierung innerhalb der Zeichen-"Bounds" des
aktuellen Eintrags vornehmen kannst.
Beispiele findest Du im Forum unter den angegebenen Stichworten.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ListBox, Einträge rechtsbündig 
Autor: minimalist
Datum: 07.01.17 12:33

Kannst das ja mal so probieren: Eine textbox, ein listview und einen button,
Listboxdrawmode ist ownerdrawfixed und dann nur die zahlen in die textbox:

Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

End Sub
Private Sub ListBox1_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles ListBox1.DrawItem
Dim g As Graphics = e.Graphics
Dim sf As New StringFormat
sf.Alignment = StringAlignment.Far
e.DrawBackground()
Dim myBrush As Brush = Brushes.Black
e.Graphics.DrawString(ListBox1.Items(e.Index).ToString(), e.Font, myBrush, e.Bounds, sf)
e.DrawFocusRectangle()
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim str As String = TextBox1.Text
TextBox1.Text = TextBox1.Text & " Millimeter"
ListBox1.Items.Add(TextBox1.Text)
TextBox1.Text = str
End Sub
End Class
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel