Betűtípus tulajdonságok megváltoztatása a VB.NET-ben

A vastag betű "csak olvasható" a VB.NET-ben. Ez a cikk megmutatja, hogyan kell ezt megváltoztatni.

A VB6-ban nem volt könnyű betűtípust félkövérre cserélni. Te egyszerűen kódoltál valami ilyesmit Label1.FontBold, de a VB.NET-ben a Betűkészlet objektum félkövér tulajdonsága csak olvasható. Szóval hogyan változtassa meg?

Betűtípus tulajdonságok megváltoztatása a VB.NET-ben a Windows Forms segítségével

Itt található a Windows Forms alapkódja.

Privát Sub BoldCheckbox_CheckedChanged (_
A ByVal feladó mint rendszer. Tárgy, _
ByVal e As rendszer. EventArgs) _
A BoldCheckbox kezelője. CheckedChanged
Ha BoldCheckbox. CheckState = CheckState. Ekkor ellenőriztem
TextToBeBold. Betűtípus = _
Új betűtípus (TextToBeBold. Betűtípus, FontStyle. Bátor)
Más
TextToBeBold. Betűtípus = _
Új betűtípus (TextToBeBold. Betűtípus, FontStyle. Szabályos)
Vége If
Befejezés Sub

Sokkal több van Label1.FontBold, az biztos. A .NET-ben a betűtípusok változatlanok. Ez azt jelenti, hogy a létrehozásuk után nem frissíthetők.

A VB.NET több irányítást biztosít, mint amennyit csak kap

instagram viewer
VB6 hogy mit csinál a programod, de a költségek az, hogy be kell írni a kódot, hogy megkapja ezt a vezérlést. A VB6 belsőleg eldob egy GDI betűkészlet-erőforrást, és újat hoz létre. A VB.NET-rel magadnak kell ezt megtenni.

Kicsit globálisabbá teheti a dolgokat, ha egy űrlap tetejére globális nyilatkozatot ad hozzá:

Privát fBold As New Font ("Arial", FontStyle. Bátor)
Privát fNormal As New Font ("Arial", FontStyle. Szabályos)

Akkor kódolhatja:

TextToBeBold. Betűtípus = fBold

Vegye figyelembe, hogy a globális nyilatkozat most az Arial betűcsaládot határozza meg, ahelyett, hogy egyszerűen csak egy adott vezérlő meglévő betűcsaládját használja.

A WPF használata

Mi a helyzet a WPF-kel? A WPF egy grafikus alrendszer, amelyet a .NET-keretrendszerrel használhat olyan alkalmazások készítéséhez, ahol a felhasználói felület alapul egy XML nyelven, az úgynevezett XAML nyelven, és a kód elkülönül a tervezéstől, és olyan .NET nyelven alapul, mint a Visual Alapvető. A WPF-ben a Microsoft ismét megváltoztatta a folyamatot. Így teheti ugyanazt a WPF-ben.

Privát Sub BoldCheckbox_Checked (_
A ByVal feladó mint rendszer. Tárgy, _
ByVal e As rendszer. Ablakok. RoutedEventArgs) _
A BoldCheckbox kezelője. kockás
Ha BoldCheckbox. IsChecked = Igaz akkor
TextToBeBold. FontWeight = FontWeights. Bátor
Más
TextToBeBold. FontWeight = FontWeights. Normál
Vége If
Befejezés Sub

A változások:

  • A CheckBox esemény ellenőrizve lesz a CheckedChanged helyett
  • A CheckBox tulajdonság IsChecked, nem pedig a CheckState
  • A tulajdonság értéke logikai igaz / hamis az Enum CheckState helyett. (A Windows Forms valódi / hamis ellenőrzésű tulajdonságot kínál a CheckState mellett, de a WPF-nek nincs mindkettő.)
  • A FontWeight a Címke függőségi tulajdonsága, ahelyett, hogy a FontStyle a Font objektum tulajdonsága.
  • A FontWeights egy NotInheritable osztály, a Bold pedig statikus érték abban az osztályban

Tyűha!! Gondolod, hogy a Microsoft valóban megpróbálta zavaróbbá tenni?