Změna vlastností písma ve VB.NET

click fraud protection

Tučné je ve VB.NET „pouze pro čtení“. Tento článek vám říká, jak to změnit.

Ve VB6 bylo mrtvé snadné změnit písmo na tučné. Jednoduše jsi něco kódoval Label1.FontBold, ale ve VB.NET je vlastnost Bold objektu Font pro Label pouze pro čtení. Jak to tedy změnit?

Změna vlastností písma ve VB.NET s Windows Forms

Zde je základní vzorec kódu pro Windows Forms.

Soukromé sub BoldCheckbox_CheckedChanged (_
Odesílatel ByVal jako systém. Objekt, _
ByVal e As System. EventArgs) _
Kliky BoldCheckbox. CheckedChanged
Pokud je BoldCheckbox. CheckState = CheckState. Zkontrolováno poté
TextToBeBold. Písmo = _
Nové písmo (TextToBeBold. Písmo, Typ písma. Tučně)
Jiný
TextToBeBold. Písmo = _
Nové písmo (TextToBeBold. Písmo, Typ písma. Pravidelný)
Konec If
End Sub

Je toho mnohem víc než Label1.FontBold, to je jisté. V .NET jsou písma neměnná. To znamená, že jakmile jsou vytvořeny, nemohou být aktualizovány.

VB.NET vám dává větší kontrolu, než jakou získáte VB6 nad tím, co váš program dělá, ale stojí za to, že musíte napsat kód, abyste získali kontrolu. VB6 interně zruší jeden zdroj písem GDI a vytvoří nový. S VB.NET to musíte udělat sami.

instagram viewer

Můžete udělat věci trochu globálnější přidáním globální deklarace v horní části formuláře:

Soukromé fBold As New Font ("Arial", FontStyle. Tučně)
Soukromé fNormal As New Font ("Arial", FontStyle. Pravidelný)

Pak můžete kódovat:

TextToBeBold. Font = fBold

Všimněte si, že globální deklarace nyní specifikuje rodinu fontů, Arial, spíše než jednoduše použít existující rodinu fontů jednoho konkrétního ovládacího prvku.

Používání WPF

A co WPF? WPF je grafický subsystém, který můžete použít s rozhraním .NET Framework k vytváření aplikací, na nichž je založeno uživatelské rozhraní v jazyce XML s názvem XAML a kód je oddělený od návrhu a je založen na jazyce .NET, jako je Visual Základní. Ve WPF Microsoft změnil proces ještě jednou. Zde je způsob, jak dělat to samé ve WPF.

Soukromé Sub BoldCheckbox_Checked (_
Odesílatel ByVal jako systém. Objekt, _
ByVal e As System. Okna. RoutedEventArgs) _
Kliky BoldCheckbox. Kontrolovány
Pokud je BoldCheckbox. IsChecked = True Then
TextToBeBold. FontWeight = FontWeights. tučně
Jiný
TextToBeBold. FontWeight = FontWeights. Normální
Konec If
End Sub

Změny jsou:

  • Událost CheckBox je zaškrtnuta namísto CheckedChanged
  • Vlastnost CheckBox je IsChecked namísto CheckState
  • Hodnota vlastnosti je booleovský True / False místo Enum CheckState. (Windows Forms nabízí kromě CheckState vlastnost True / False Checked, ale WPF nemá obojí.)
  • FontWeight je vlastnost závislosti Label namísto FontStyle, což je vlastnost objektu Font.
  • FontWeights je třída NotInheritable a Bold je statická hodnota v této třídě

Fajn!! Myslíte si, že se Microsoft ve skutečnosti pokusil udělat to více matoucí?

instagram story viewer