מודגש הוא "לקריאה בלבד" ב- VB.NET. מאמר זה אומר לך כיצד לשנות זאת.
ב- VB6, קל היה לשנות את הגופן למודגש. פשוט קידדת משהו כמו Label1.FontBold, אך ב- VB.NET, המאפיין מודגש של אובייקט הגופן עבור תווית הוא לקריאה בלבד. אז איך משנים את זה?
שינוי מאפייני גופן ב- VB.NET באמצעות טפסים של Windows
להלן תבנית הקוד הבסיסית לטפסים של Windows.
תת פרטי מודגש תיבת סימון תיבת_התקנת משנה (_
שולח ByVal כמערכת. חפץ, _
מערכת ByVal e As. EventArgs) _
מטפל בתיבת הסימון המודגש. בדוק תלוי
אם תיוג מודגש. CheckState = CheckState. בדק אז
TextToBeBold. גופן = _
גופן חדש (TextToBeBold. גופן, פונט סטייל. מודגש)
אחרת
TextToBeBold. גופן = _
גופן חדש (TextToBeBold. גופן, פונט סטייל. רגיל)
סוף אם
סיום משנה
יש הרבה יותר מ Label1.FontBold, זה בטוח. ב- .NET, הגופנים אינם ניתנים לשינוי. המשמעות היא שברגע שהם נוצרים, לא ניתן לעדכן אותם.
VB.NET מעניק לך שליטה רבה יותר ממה שאתה מקבל VB6 על מה התוכנית שלך עושה, אבל העלות היא שאתה צריך לכתוב את הקוד כדי לקבל שליטה זו. VB6 תפיל משני גופן GDI באופן פנימי ותיצור אחד חדש. עם VB.NET אתה צריך לעשות זאת בעצמך.
אתה יכול לעשות דברים קצת יותר גלובליים על ידי הוספת הצהרה גלובלית בראש הטופס שלך:
FBold פרטי כגופן חדש ("אריאל", FontStyle. מודגש)
גופן פרטי כגופן חדש ("אריאל", פונט סטייל. רגיל)
אז אתה יכול לקוד:
TextToBeBold. גופן = fBold
שים לב שההצהרה הגלובלית מציינת כעת את משפחת הגופנים Arial, ולא פשוט להשתמש במשפחת הגופנים הקיימת בשליטה ספציפית אחת.
באמצעות WPF
מה עם WPF? WPF היא תת-מערכת גרפית בה תוכלו להשתמש באמצעות .NET Framework כדי לבנות יישומים שבהם מבוסס ממשק המשתמש בשפת XML בשם XAML והקוד נפרד מהעיצוב ומבוסס על שפת NET כמו Visual בסיסי. ב- WPF, מיקרוסופט שינתה את התהליך שוב. הנה הדרך בה אתה עושה את אותו הדבר ב- WPF.
תת פרטי מודגש תיבת סימון תיבה_בדק (_
שולח ByVal כמערכת. חפץ, _
מערכת ByVal e As. חלונות. RoutedEventArgs) _
מטפל בתיבת הסימון המודגש. נבדק
אם תיוג מודגש. IsChecked = אז נכון
TextToBeBold. FontWeight = FontWeights. נועז
אחרת
TextToBeBold. FontWeight = FontWeights. רגיל
סוף אם
סיום משנה
השינויים הם:
- אירוע CheckBox מסומן במקום CheckedChanged
- נכס CheckBox הוא IsChecked במקום CheckState
- ערך הנכס הוא נכון / לא נכון בוליאני במקום ה- Enum CheckState. (Windows Forms מציע נכס בדוק True / False בנוסף ל- CheckState, אך ל- WPF אין את שניהם.)
- FontWeight הוא מאפיין תלות של התווית במקום ש- FontStyle הוא הנכס של אובייקט הגופן.
- FontWeights הוא כיתת NotInheritable והמודגש הוא ערך סטטי באותה כיתה
וואו!! האם אתה חושב שמיקרוסופט אכן ניסתה להפוך את זה ליותר מבלבל?