Labelschriftart während der Laufzeit verändern!

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Labelschriftart während der Laufzeit verändern!

    Hallo liebe User ;)

    Ich habe ein Problem. Und zwar möchte ich eine Schriftart von einem Label verändern, bzw. etwas etwas mit einer bestimmten Schriftart (aus einer Combobox ausgewählt) einfügen, doch es geht nicht. Die Größe aus dem NumericUPDown Dingen wird übernommen.

    Die Schriftart aber nicht. Ich nutze folgenden Code für die Combobox:

    VB.NET-Quellcode

    1. ComboBox1.DrawMode = DrawMode.OwnerDrawVariable
    2. Dim Schriftarten() As FontFamily = FontFamily.Families
    3. For Each Schriftart In Schriftarten
    4. Dim Schriftstil As Font
    5. If Schriftart.IsStyleAvailable(FontStyle.Regular) Then
    6. Schriftstil = New Font(Schriftart.Name, ComboBox1.Font.Size, FontStyle.Regular)
    7. ElseIf Schriftart.IsStyleAvailable(FontStyle.Italic) Then
    8. Schriftstil = New Font(Schriftart.Name, ComboBox1.Font.Size, FontStyle.Italic)
    9. ElseIf Schriftart.IsStyleAvailable(FontStyle.Bold) Then
    10. Schriftstil = New Font(Schriftart.Name, ComboBox1.Font.Size, FontStyle.Bold)
    11. Else
    12. Continue For
    13. End If
    14. ComboBox1.Items.Add(Schriftstil)
    15. Next


    und das hier:

    VB.NET-Quellcode

    1. Private Sub ComboBox1_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles ComboBox1.DrawItem
    2. e.DrawBackground()
    3. If ((e.State And DrawItemState.Focus) <> 0) Then e.DrawFocusRectangle()
    4. Dim b As Brush = New SolidBrush(e.ForeColor)
    5. e.Graphics.DrawString(ComboBox1.Items(e.Index).Name, ComboBox1.Items(e.Index), b, e.Bounds)
    6. End Sub



    Und für den Button, der das dann ausführen soll:

    VB.NET-Quellcode

    1. Label8.Font = New Font(ComboBox1.Text, NumericUpDown4.Value)
    2. Label8.Text = TextBox1.Text


    Würde mich sehr über Hilfe freuen.

    MfG friloo
    Vielleicht löst Du Dein PRoblem nicht mit 17 Auswahlmöglichkeiten in 3 Controls, sondern zunächst als 3-Zeiler in einer Button-Klick-Routine, das lässt sich viel leichter nachvollziehen und korrigieren.
    Die Variabilität machst Du dann, wenn die Zuweisung klappt.
    Bau also einen 3-Zeiler, der Dein Problem reproduziert und beschreib, wie es funktionieren soll.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!