Ændring af fontegenskaber i VB.NET

Fed er "skrivebeskyttet" i VB.NET. Denne artikel fortæller dig, hvordan du ændrer det.

I VB6 var det let at ændre en skrifttype til fed. Du har blot kodet noget lignende Label1.FontBold, men i VB.NET er den faste egenskab for Font-objektet til en etiket skrivebeskyttet. Så hvordan ændrer du det?

Ændring af fontegenskaber i VB.NET med Windows-formularer

Her er det grundlæggende kodemønster til Windows-formularer.

Privat under fed skriftCheckbox_CheckedChanged (_
ByVal afsender som system. Objekt, _
ByVal e As System. EventArgs) _
Håndterer fed checkbox. CheckedChanged
Hvis BoldCheckbox. CheckState = CheckState. Kontrolleret derefter
TextToBeBold. Skrifttype = _
Ny font (TextToBeBold. Skrifttype, FontStyle. Fremhævet)
Andet
TextToBeBold. Skrifttype = _
Ny font (TextToBeBold. Skrifttype, FontStyle. Fast)
Afslut Hvis
Afslut under

Der er meget mere end Label1.FontBold, det er sikkert. I .NET er skrifttyper uforanderlige. Det betyder, at når de først er oprettet, kan de ikke opdateres.

VB.NET giver dig mere kontrol, end du får med

instagram viewer
VB6 over hvad dit program laver, men prisen er, at du skal skrive koden for at få den kontrol. VB6 vil internt droppe en GDI-fontressource og oprette en ny. Med VB.NET skal du gøre det selv.

Du kan gøre tingene lidt mere globale ved at tilføje en global erklæring øverst på din form:

Privat fBold As New Font ("Arial", FontStyle. Fremhævet)
Privat fNormal som ny skrifttype ("Arial", FontStyle. Fast)

Så kan du kode:

TextToBeBold. Skrifttype = fBold

Bemærk, at den globale erklæring nu specificerer skrifttypefamilien Arial i stedet for blot at bruge den eksisterende skrifttypefamilie til en bestemt kontrol.

Brug af WPF

Hvad med WPF? WPF er et grafisk undersystem, du kan bruge med .NET Framework til at oprette applikationer, hvor brugergrænsefladen er baseret på et XML-sprog kaldet XAML og koden er adskilt fra designet og er baseret på et .NET-sprog som Visual Grundlæggende. I WPF ændrede Microsoft processen endnu en gang. Her er den måde, du gør det samme i WPF.

Privat under fed skriftCheckbox_Checked (_
ByVal afsender som system. Objekt, _
ByVal e As System. Windows. RoutedEventArgs) _
Håndterer fed checkbox. Kontrolleret
Hvis BoldCheckbox. IsChecked = sandt derefter
TextToBeBold. FontWeight = FontWeights. Fremhævet
Andet
TextToBeBold. FontWeight = FontWeights. Normal
Afslut Hvis
Afslut under

Ændringerne er:

  • CheckBox-begivenheden kontrolleres i stedet for CheckedChanged
  • CheckBox-ejendommen er IsChecked i stedet for CheckState
  • Egenskabets værdi er en boolsk sand / falsk i stedet for Enum CheckState. (Windows Forms tilbyder en True / False Checked egenskab ud over CheckState, men WPF har ikke begge dele.)
  • FontWeight er en afhængighedsegenskab for etiketten i stedet for at FontStyle er egenskaben for Font-objektet.
  • FontWeights er en NotInheritable-klasse, og Fed er en statisk værdi i denne klasse

Puha!! Tror du Microsoft faktisk forsøgte at gøre det mere forvirrende?

instagram story viewer