Bold este „numai citit” în VB.NET. Acest articol vă spune cum să schimbați asta.
În VB6, era ușor să schimbi un font cu caractere aldine. Pur și simplu ai codat ceva de genul Label1.FontBold, dar în VB.NET, proprietatea Bold a obiectului Font pentru o etichetă este numai de citire. Deci cum o schimbi?
Modificarea proprietăților fontului în VB.NET cu formularele Windows
Iată modelul codului de bază pentru formularele Windows.
Sub subs BoldCheckbox_CheckedChanged privat (_
ByVal expeditor ca sistem. Obiect, _
Sistemul ByVal e As. EventArgs) _
Gestionează BoldCheckbox. CheckedChanged
Dacă BoldCheckbox. CheckState = CheckState. Verificat Apoi
TextToBeBold. Font = _
Font nou (TextToBeBold. Font, FontStyle. Îndrăzneţ)
altfel
TextToBeBold. Font = _
Font nou (TextToBeBold. Font, FontStyle. Regulat)
End If
Sub final
Sunt mult mai multe decât Label1.FontBold, asta e sigur. În .NET, fonturile sunt imuabile. Aceasta înseamnă că, odată ce au fost create, nu pot fi actualizate.
VB.NET vă oferă mai mult control decât veți obține
VB6 peste ceea ce face programul dvs., dar costul este că trebuie să scrieți codul pentru a obține controlul respectiv. VB6 va renunța la o resursă de font GDI și va crea una nouă. Cu VB.NET, trebuie să o faceți singur.Puteți face lucrurile ceva mai globale adăugând o declarație globală în partea de sus a formularului dvs.:
FBold privat ca font nou („Arial”, FontStyle. Îndrăzneţ)
FNormal privat ca font nou („Arial”, FontStyle. Regulat)
Apoi puteți codifica:
TextToBeBold. Font = fBold
Rețineți că declarația globală specifică acum familia de fonturi, Arial, mai degrabă decât folosirea familiei de fonturi existente a unui control specific.
Folosind WPF
Dar WPF? WPF este un subsistem grafic pe care îl puteți utiliza cu .NET Framework pentru a construi aplicații pe care se bazează interfața utilizator pe un limbaj XML numit XAML și codul este separat de design și se bazează pe un limbaj .NET precum Visual De bază. În WPF, Microsoft a schimbat încă o dată procesul. Iată modul în care faceți același lucru în WPF.
Sub subs BoldCheckbox privat_Checked (_
ByVal expeditor ca sistem. Obiect, _
Sistemul ByVal e As. Windows. RoutedEventArgs) _
Gestionează BoldCheckbox. verificat
Dacă BoldCheckbox. IsChecked = True Apoi
TextToBeBold. FontWeight = FontWeights. Îndrăzneţ
altfel
TextToBeBold. FontWeight = FontWeights. Normal
End If
Sub final
Modificările sunt:
- Evenimentul CheckBox este verificat în loc de CheckedChanged
- Proprietatea CheckBox este IsChecked în loc de CheckState
- Valoarea proprietății este Boolean True / False în loc de Enum CheckState. (Windows Forms oferă o proprietate Verificată / Falsă Verificată pe lângă CheckState, dar WPF nu are ambele.)
- FontWeight este o proprietate de dependență a Label-ului în loc de FontStyle fiind proprietatea obiectului Font.
- FontWeights este o clasă NotInheritable și Bold este o valoare statică din acea clasă
Whew!! Credeți că Microsoft a încercat de fapt să o facă mai confuză?