Fontdialog - Fontstyle

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Beep!.

    Fontdialog - Fontstyle

    Hallo,

    ich möchte beim Aufrufen des FontDialogs einen bestimmten Fontstyle an den Dialog übergeben. Mit Font, Fontcolor und Fontsize klappt das ohne Probleme.
    Bei dem Style kommt die Fehlermeldung:
    Fehler 2 Fehler bei der Überladungsauflösung, da keine zugreifbare "New" ohne einschränkende Konvertierung aufgerufen werden kann ?????

    VB.NET-Quellcode

    1. Dim fontDialog1 As New FontDialog
    2. fontDialog1.ShowColor = True
    3. Dim selFont As Font
    4. selFont = New Font(Tb_Bl_Font.Text, Tb_Bl_Fontsize.Text, Drawing.FontStyle.Bold)
    5. fontDialog1.Font = selFont 'Font setzen
    6. fontDialog1.Color = Color.FromArgb(Tb_Bl_Fontcolor.Text) 'Fontcolor setzen
    7. If fontDialog1.ShowDialog() <> DialogResult.Cancel Then
    8. Tb_Bl_Font.Text = fontDialog1.Font.Name.ToString 'Schriftart übergeben
    9. Tb_Bl_Font.ForeColor = fontDialog1.Color 'Schriftfarbe übergeben
    10. Tb_Bl_Fontcolor.Text = fontDialog1.Color.ToArgb 'Schriftfarbe übergeben
    11. Tb_Bl_Fontsize.Text = fontDialog1.Font.SizeInPoints.ToString 'Schriftgröße übergeben
    12. Tb_Bl_Fontstyle.Text = fontDialog1.Font.Style.ToString 'Schriftstil übergeben
    13. End If


    den Fehler verursacht : Drawing.FontStyle.Bold

    weis jemand wie das hinzubekommen ist, bzw wo der Fehler liegt?

    glg
    Das Problem ist, dass du statt einem Integer-Wert einen String-Wert übergibst.
    Ich täte das so machen:

    VB.NET-Quellcode

    1. Dim fontDialog1 As New FontDialog
    2. fontDialog1.ShowColor = True
    3. Dim selFont As Font
    4. If Integer.TryParse(Tb_Bl_Fontsize.Text) Then
    5. selFont = New Font(Tb_Bl_Font.Text, Integer.Parse(Tb_Bl_Fontsize.Text), FontStyle.Bold)
    6. Else
    7. MsgBox("Ungültige Eingabe", 16, "Fehler")
    8. Exit Sub '/Function
    9. End If
    10. fontDialog1.Font = selFont 'Font setzen
    11. fontDialog1.Color = Color.FromArgb(Tb_Bl_Fontcolor.Text) 'Fontcolor setzen
    12. If fontDialog1.ShowDialog() <> DialogResult.Cancel Then
    13. Tb_Bl_Font.Text = fontDialog1.Font.Name.ToString 'Schriftart übergeben
    14. Tb_Bl_Font.ForeColor = fontDialog1.Color 'Schriftfarbe übergeben
    15. Tb_Bl_Fontcolor.Text = fontDialog1.Color.ToArgb 'Schriftfarbe übergeben
    16. Tb_Bl_Fontsize.Text = fontDialog1.Font.SizeInPoints.ToString 'Schriftgröße übergeben
    17. Tb_Bl_Fontstyle.Text = fontDialog1.Font.Style.ToString 'Schriftstil übergeben
    18. End If

    So müsste es eigentlich funktionieren (nicht getestet).