Spreminjanje lastnosti pisave v VB.NET

Krepko je v VB.NET "samo za branje". Ta članek vam pove, kako to spremeniti.

V VB6 je bilo mrtvo enostavno spremeniti pisavo v krepko. Preprosto ste kodirali nekaj takega Oznaka1.FontBold, toda v VB.NET je lastnost Bold objekta Font za oznako samo za branje. Kako jo torej spremenite?

Spreminjanje lastnosti pisave v VB.NET z obrazci Windows

Tu je osnovni vzorec kode za Windows Forms.

Zasebni Sub BoldCheckbox_CheckedChanged (_
ByVal pošiljatelj kot sistem. Predmet, _
ByVal e As System. EventArgs) _
Ročaji BoldCheckbox. Preverjeno spremenjeno
Če BoldCheckbox. CheckState = CheckState. Potem preverjeno
TextToBeBold. Pisava = _
Nova pisava (TextToBeBold). Pisava, FontStyle. Krepko)
Ostalo
TextToBeBold. Pisava = _
Nova pisava (TextToBeBold). Pisava, FontStyle. Redno)
Konec Če
Končni pod

Obstaja veliko več kot Oznaka1.FontBold, to je gotovo. V .NET so pisave nespremenljive. To pomeni, da ko so enkrat ustvarjene, jih ni mogoče posodobiti.

VB.NET vam omogoča večji nadzor, kot ga imate VB6 glede tega, kaj počne vaš program, vendar je strošek, da morate napisati kodo, da dobite tak nadzor. VB6 bo interno izpustil en vir pisave GDI in ustvaril novega. Z VB.NET morate to storiti sami.

instagram viewer

Stvari lahko naredite nekoliko bolj globalno, če na vrhu obrazca dodate globalno izjavo:

Zasebni fBold kot nova pisava ("Arial", FontStyle. Krepko)
Zasebna fNormal kot nova pisava ("Arial", FontStyle. Redno)

Nato lahko kodirate:

TextToBeBold. Pisava = fBold

Upoštevajte, da globalna deklaracija zdaj določa družino pisav Arial, namesto da preprosto uporablja obstoječo družino pisav enega posebnega elementa.

Uporaba WPF

Kaj pa WPF? WPF je grafični podsistem, ki ga lahko uporabite z .NET Framework za gradnjo aplikacij, na katerih temelji uporabniški vmesnik v jeziku XML, imenovanem XAML, in koda je ločena od zasnove in temelji na jeziku .NET, kot je Visual Osnovni. V WPF je Microsoft postopek še enkrat spremenil. Tukaj je isto, kar počnete v WPF.

Zasebni Sub BoldCheckbox_Checked (_
ByVal pošiljatelj kot sistem. Predmet, _
ByVal e As System. Windows. RoutedEventArgs) _
Ročaji BoldCheckbox. Preverjeno
Če BoldCheckbox. IsChecked = Resnično potem
TextToBeBold. FontWeight = FontWeights. Drzno
Ostalo
TextToBeBold. FontWeight = FontWeights. Običajno
Konec Če
Končni pod

Spremembe so:

  • Dogodek CheckBox se preveri namesto CheckedChanged
  • Lastnost CheckBox je namesto CheckState IsChecked
  • Vrednost lastnosti je Boolean True / False namesto Enum CheckState. (Windows Forms poleg CheckState ponuja lastnost True / False Checked, vendar WPF nima obeh.)
  • FontWeight je lastnost odvisnosti oznake, namesto da bi bila FontStyle lastnost predmeta Font.
  • FontWeights je razred NotInheritable, Bold pa je statična vrednost v tem razredu

Whew!! Mislite, da je Microsoft pravzaprav poskušal narediti bolj zmedeno?

instagram story viewer