Exception Message Box
מי לא כתב את הקוד הבא:
try
{
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
ובכלל הצגת הודעות באפליקציות חלונאיות תתבצע הרבה פעמים בעזרת MessageBox.
מתברר (משהו יחסית ישן)
שהחברה של sql server פתחו MessageBox משלהם - בטח ראיתם מתי שהוא את החלון הבא: (אם עבדתם עם Sql Server Managment Studio)
לחלון הזה יש כמה פיצ'רים מאוד נחמדים, ראשית הוא נראה הרבה יותר טוב מה - MessageBox הסטנדרטי, בנוסף יש בתחתית החלון אפשרות להעתקת הודעת השגיאה ולחצן נוסף להצגת הפרטים הנוספים:
כדי שתוכלו להשתמש בזה באפליקציות שלכם תצטרכו להוסיף reference ל: Microsoft.NetEnterpriseServers.ExceptionMessageBox (חפשו אותו תחת תיקיית ההתקנה של sql (אצלי הוא יושב ב - C:\Program Files\Microsoft SQL Server\90\Tools\Publishing\1.4)
בגרסאות קודמות של sql server (למשל 2005) שם הקובץ היה ExceptionMessageBox.
לאחר שייבאתם את הקובץ (מומלץ כמובן להגדיר Copy Local=true - כך כשתעבירו את האפליקצייה ללקוח ואין לו sql server האפליקצייה עדיין תעבוד)
תוכלו לכתוב קוד כזה:
internal static void Show(Exception e)
{
ExceptionMessageBox emb = new ExceptionMessageBox(e);
emb.Caption = "Error";
emb.Symbol = ExceptionMessageBoxSymbol.Error;
emb.Show(null);
}
אפשר לתת ב - ctor גם טקסט חופשי, וכמובן להגדיר את ה - symbol המתאים - מתוך הרשימה הבאה:
public enum ExceptionMessageBoxSymbol
{
None = 0,
Warning = 1,
Information = 2,
Error = 3,
Stop = 3,
Exclamation = 4,
Asterisk = 5,
Question = 6,
Hand = 7,
}
ואפשר אפילו להגדיר בקלות CustomSymbol.
בנוסף ניתן להגדיר עד חמשה לחצנים שונים עם הגדרה מה יהיה כתוב אליהם.
פיצ'ר נוסף הוא ההגדרה האם יוצג CheckBox שניתן לכתוב עליו כל מה שתרצו (למשל "אל תציג שוב") ותוכלו לקבל את הערך שהמשתמש בחר בפעם הקודמת (זה נשמר ב - registry - אתם יכולים לקבוע את ה - key עבורו)
פיצ'ר נוסף היא תמיכה מובנת בשפות עם כתיבה בצד ימין (עברית למשל).
לסיכום השימוש ב - ExceptionMessageBox עדיף משימוש ב - MessageBox הרגיל ומשדרג את חויית המשתמש.