Ändra teckensnittegenskaper i VB.NET

Fet är "skrivskyddad" i VB.NET. Den här artikeln beskriver hur du ändrar det.

I VB6 var det lätt att ändra ett teckensnitt till fetstil. Du kodade helt enkelt något Label1.FontBold, men i VB.NET är den djärva egenskapen för Font-objektet för en etikett skrivskyddad. Så hur ändrar du det?

Ändra teckensnittegenskaper i VB.NET med Windows-formulär

Här är det grundläggande kodmönstret för Windows-formulär.

Privat under fetstilCheckbox_CheckedChanged (_
ByVal avsändare som system. Objekt, _
ByVal e As System. EventArgs) _
Hanterar BoldCheckbox. CheckedChanged
Om BoldCheckbox. CheckState = CheckState. Kontrollerad sedan
TextToBeBold. Teckensnitt = _
Nytt teckensnitt (TextToBeBold. Font, FontStyle. Djärv)
Annan
TextToBeBold. Teckensnitt = _
Nytt teckensnitt (TextToBeBold. Font, FontStyle. Regelbunden)
Sluta om
Avsluta under

Det finns mycket mer än Label1.FontBold, det är säkert. I .NET är teckensnitt oföränderliga. Det betyder att när de väl har skapats kan de inte uppdateras.

VB.NET ger dig mer kontroll än du får med

instagram viewer
VB6 över vad ditt program gör, men kostnaden är att du måste skriva koden för att få kontrollen. VB6 släpper internt en GDI-teckensnittresurs och skapar en ny. Med VB.NET måste du göra det själv.

Du kan göra saker lite mer globala genom att lägga till en global deklaration högst upp i ditt formulär:

Privat fBold As New Font ("Arial", FontStyle. Djärv)
Privat fNormal som nytt teckensnitt ("Arial", FontStyle. Regelbunden)

Då kan du koda:

TextToBeBold. Teckensnitt = fBold

Observera att den globala deklarationen nu specificerar teckensnittsfamiljen, Arial, snarare än att bara använda den befintliga teckensnittsfamiljen för en specifik kontroll.

Använda WPF

Vad sägs om WPF? WPF är ett grafiskt delsystem som du kan använda med .NET Framework för att bygga applikationer där användargränssnittet är baserat på ett XML-språk som heter XAML och koden är separat från designen och baseras på ett .NET-språk som Visual Grundläggande. I WPF ändrade Microsoft processen ännu en gång. Så här gör du samma sak i WPF.

Privat under fetstilCheckbox_Checked (_
ByVal avsändare som system. Objekt, _
ByVal e As System. Windows. RoutedEventArgs) _
Hanterar BoldCheckbox. Kontrollerade
Om BoldCheckbox. IsChecked = Sant då
TextToBeBold. FontWeight = FontWeights. Djärv
Annan
TextToBeBold. FontWeight = FontWeights. Vanligt
Sluta om
Avsluta under

Förändringarna är:

  • CheckBox-händelsen kontrolleras istället för CheckedChanged
  • Egenskapen CheckBox är IsChecked istället för CheckState
  • Fastighetsvärdet är en boolesk sann / falsk i stället för Enum CheckState. (Windows Forms erbjuder en True / False Checked-egenskap utöver CheckState, men WPF har inte båda.)
  • FontWeight är en beroendeegenskap för etiketten i stället för att FontStyle är egenskapen för Font-objektet.
  • FontWeights är en klass som inte är inhemsk och fet skrift är ett statiskt värde i den klassen

Puh!! Tror du att Microsoft faktiskt försökte göra det mer förvirrande?

instagram story viewer