Fett ist in VB.NET "schreibgeschützt". In diesem Artikel erfahren Sie, wie Sie dies ändern können.
In VB6 war es kinderleicht, eine Schriftart in Fettdruck zu ändern. Sie haben einfach so etwas codiert Label1.FontBold, In VB.NET ist die Bold-Eigenschaft des Font-Objekts für eine Beschriftung jedoch schreibgeschützt. Wie ändern Sie das??
Hier ist das grundlegende Codemuster für Windows Forms.
Private Sub BoldCheckbox_CheckedChanged (_
ByVal Absender Als System.Object, _
ByVal e As System.EventArgs) _
Verarbeitet BoldCheckbox.CheckedChanged
If BoldCheckbox.CheckState = CheckState.Checked Then
TextToBeBold.Font = _
Neue Schriftart (TextToBeBold.Font, FontStyle.Bold)
Sonst
TextToBeBold.Font = _
Neue Schriftart (TextToBeBold.Font, FontStyle.Regular)
End If
End Sub
Es gibt viel mehr als Label1.FontBold, das ist sicher. In .NET sind Schriftarten unveränderlich. Das bedeutet, dass sie nach ihrer Erstellung nicht mehr aktualisiert werden können.
Mit VB.NET haben Sie mehr Kontrolle als mit VB6 über die Funktionsweise Ihres Programms, aber die Kosten sind, dass Sie den Code schreiben müssen, um diese Kontrolle zu erhalten. VB6 löscht intern eine GDI-Schriftartressource und erstellt eine neue. Mit VB.NET müssen Sie es selbst tun.
Sie können die Dinge ein wenig globaler gestalten, indem Sie eine globale Deklaration am oberen Rand Ihres Formulars einfügen:
Private fBold As New-Schriftart ("Arial", FontStyle.Bold)
Private fNormal As New-Schriftart ("Arial", FontStyle.Regular)
Dann können Sie codieren:
TextToBeBold.Font = fBold
Beachten Sie, dass die globale Deklaration jetzt die Schriftfamilie Arial angibt, anstatt einfach die vorhandene Schriftfamilie eines bestimmten Steuerelements zu verwenden.
Was ist mit WPF? WPF ist ein grafisches Subsystem, das Sie mit .NET Framework verwenden können, um Anwendungen zu erstellen, bei denen die Benutzeroberfläche auf einer XML-Sprache namens XAML basiert und der Code vom Design getrennt ist und auf einer .NET-Sprache wie Visual Basic basiert. In WPF hat Microsoft den Prozess erneut geändert. So machen Sie dasselbe in WPF.
Private Sub BoldCheckbox_Checked (_
ByVal Absender Als System.Object, _
ByVal e As System.Windows.RoutedEventArgs) _
Verarbeitet BoldCheckbox.Checked
If BoldCheckbox.IsChecked = True Then
TextToBeBold.FontWeight = FontWeights.Bold
Sonst
TextToBeBold.FontWeight = FontWeights.Normal
End If
End Sub
Die Änderungen sind:
Wütend!! Glauben Sie, dass Microsoft tatsächlich versucht hat, es verwirrender zu gestalten??