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
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?