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?
Iată modelul codului de bază pentru formularele Windows.
Sub subs BoldCheckbox_CheckedChanged privat (_
Expeditor ByVal ca System.Object, _
ByVal e As System.EventArgs) _
Mânere BoldCheckbox.CheckedChanged
Dacă BoldCheckbox.CheckState = CheckState.Checked Atunci
TextToBeBold.Font = _
Font nou (TextToBeBold.Font, FontStyle.Bold)
altfel
TextToBeBold.Font = _
Font nou (TextToBeBold.Font, FontStyle.Regular)
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 cu VB6 în 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 un pic mai globale adăugând o declarație globală în partea de sus a formularului dvs.:
FBold privat Ca nou font ("Arial", FontStyle.Bold)
FNormal privat ca nou font ("Arial", FontStyle.Regular)
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.
Dar WPF? WPF este un subsistem grafic pe care îl puteți utiliza cu .NET Framework pentru a construi aplicații în care interfața utilizator se bazează pe un limbaj XML numit XAML, iar codul este separat de design și se bazează pe un limbaj .NET precum Visual Basic. Î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 (_
Expeditor ByVal ca System.Object, _
ByVal e As System.Windows.RoutedEventArgs) _
Mânere BoldCheckbox.Checked
Dacă BoldCheckbox.IsChecked = True Atunci
TextToBeBold.FontWeight = FontWeights.Bold
altfel
TextToBeBold.FontWeight = FontWeights.Normal
End If
Sub final
Modificările sunt:
Whew !! Credeți că Microsoft a încercat de fapt să-l facă mai confuz?