Bold "hanya-baca" di VB.NET. Artikel ini memberi tahu Anda cara mengubahnya.
Di VB6, sangat mudah mengubah font menjadi huruf tebal. Anda cukup kode sesuatu seperti Label1.FontBold, tetapi dalam VB.NET, properti Bold dari objek Font untuk Label adalah read-only. Jadi bagaimana Anda mengubahnya?
Mengubah Properti Font di VB.NET Dengan Windows Forms
Inilah pola kode dasar untuk Formulir Windows.
Sub Pribadi BoldCheckbox_CheckedChanged (_
Pengirim ByVal Sebagai Sistem. Objek, _
ByVal e As System. EventArgs) _
Menangani BoldCheckbox. Diperiksa Diubah
Jika BoldCheckbox. CheckState = CheckState. Diperiksa kemudian
TextToBeBold. Font = _
Font Baru (TextToBeBold. Font, FontStyle. Mencolok)
Lain
TextToBeBold. Font = _
Font Baru (TextToBeBold. Font, FontStyle. Reguler)
Berakhir jika
End Sub
Ada lebih banyak dari itu Label1.FontBold, itu sudah pasti. Di .NET, font tidak dapat diubah. Itu berarti begitu mereka dibuat mereka tidak dapat diperbarui.
VB.NET memberi Anda lebih banyak kontrol daripada yang Anda dapatkan
VB6 atas apa yang program Anda lakukan, tetapi biayanya adalah Anda harus menulis kode untuk mendapatkan kontrol itu. VB6 secara internal akan menjatuhkan satu sumber daya font GDI dan membuat yang baru. Dengan VB.NET, Anda harus melakukannya sendiri.Anda dapat membuat hal-hal sedikit lebih global dengan menambahkan deklarasi global di bagian atas formulir Anda:
Private fBold As Font Baru ("Arial", FontStyle. Mencolok)
Private fNormal As New Font ("Arial", FontStyle. Reguler)
Kemudian Anda dapat kode:
TextToBeBold. Font = fBold
Perhatikan bahwa deklarasi global sekarang menentukan keluarga font, Arial, daripada hanya menggunakan keluarga font yang ada dari satu kontrol tertentu.
Menggunakan WPF
Bagaimana dengan WPF? WPF adalah subsistem grafis yang dapat Anda gunakan dengan .NET Framework untuk membangun aplikasi di mana antarmuka pengguna berbasis pada bahasa XML yang disebut XAML dan kode terpisah dari desain dan didasarkan pada bahasa .NET seperti Visual Dasar. Di WPF, Microsoft mengubah proses lagi. Inilah cara Anda melakukan hal yang sama di WPF.
Sub Pribadi BoldCheckbox_Checked (_
Pengirim ByVal Sebagai Sistem. Objek, _
ByVal e As System. Windows. RoutedEventArgs) _
Menangani BoldCheckbox. Diperiksa
Jika BoldCheckbox. IsChecked = Benar Lalu
TextToBeBold. FontWeight = FontWeights. Mencolok
Lain
TextToBeBold. FontWeight = FontWeights. Normal
Berakhir jika
End Sub
Perubahannya adalah:
- Acara CheckBox bukan Diperiksa CheckedChanged
- Properti CheckBox adalah IsChecked bukan CheckState
- Nilai properti adalah Boolean Benar / Salah, bukan Enum CheckState. (Windows Forms menawarkan properti Benar / Salah Diperiksa selain CheckState, tetapi WPF tidak memiliki keduanya.)
- FontWeight adalah properti ketergantungan Label alih-alih FontStyle menjadi properti objek Font.
- FontWeights adalah kelas NotInheritable dan Bold adalah nilai statis di kelas itu
Wah!! Apakah Anda pikir Microsoft benar-benar mencoba membuatnya lebih membingungkan?