Fet er "skrivebeskyttet" i VB.NET. Denne artikkelen forteller deg hvordan du kan endre det.
I VB6 var det lett å endre font til fet skrift. Du kodet ganske enkelt noe som Label1.FontBold, men i VB.NET er fet skrift-egenskapen til Font-objektet for en etikett skrivebeskyttet. Så hvordan endrer du det?
Endre fontegenskaper i VB.NET med Windows-skjemaer
Her er det grunnleggende kodemønsteret for Windows Forms.
Privat sub BoldCheckbox_CheckedChanged (_
ByVal avsender som system. Objekt, _
ByVal e As System. EventArgs) _
Håndterer fet skrift. CheckedChanged
Hvis BoldCheckbox. CheckState = CheckState. Sjekket deretter
TextToBeBold. Font = _
Ny font (TextToBeBold. Font, FontStyle. Modig)
Ellers
TextToBeBold. Font = _
Ny font (TextToBeBold. Font, FontStyle. Regelmessig)
Slutt om
Slutt sub
Det er mye mer enn Label1.FontBold, det er sikkert. I .NET er skrifter uforanderlige. Det betyr at når de først er opprettet, kan de ikke oppdateres.
VB.NET gir deg mer kontroll enn du får med VB6 over hva programmet gjør, men kostnaden er at du må skrive koden for å få den kontrollen. VB6 vil slippe en GDI-fontressurs internt og opprette en ny. Med VB.NET må du gjøre det selv.
Du kan gjøre ting litt mer globalt ved å legge til en global erklæring øverst i skjemaet:
Privat fBold As New Font ("Arial", FontStyle. Modig)
Privat fNormal som ny font ("Arial", FontStyle. Regelmessig)
Da kan du kode:
TextToBeBold. Font = fBold
Legg merke til at den globale erklæringen nå spesifiserer fontfamilien, Arial, i stedet for bare å bruke den eksisterende fontfamilien til en spesifikk kontroll.
Bruker WPF
Hva med WPF? WPF er et grafisk delsystem du kan bruke med .NET Framework til å bygge applikasjoner der brukergrensesnittet er basert på et XML-språk kalt XAML og koden er atskilt fra designet og er basert på et .NET-språk som Visual Basic. I WPF endret Microsoft prosessen enda en gang. Slik gjør du det samme i WPF.
Privat sub BoldCheckbox_Checked (_
ByVal avsender som system. Objekt, _
ByVal e As System. Windows. RoutedEventArgs) _
Håndterer fet skrift. Krysset av
Hvis BoldCheckbox. IsChecked = Sant da
TextToBeBold. FontWeight = FontWeights. Modig
Ellers
TextToBeBold. FontWeight = FontWeights. Vanlig
Slutt om
Slutt sub
Endringene er:
- CheckBox-hendelsen blir sjekket i stedet for CheckedChanged
- CheckBox-egenskapen er IsChecked i stedet for CheckState
- Eiendomsverdien er en boolsk sann / usann i stedet for Enum CheckState. (Windows Forms tilbyr en sann / falsk sjekket egenskap i tillegg til CheckState, men WPF har ikke begge deler.)
- FontWeight er en avhengighetsegenskap for etiketten i stedet for at FontStyle er egenskapen til Font-objektet.
- FontWeights er en NotInheritable-klasse og fet skrift er en statisk verdi i den klassen
Puh!! Tror du Microsoft faktisk prøvde å gjøre det mer forvirrende?