DCSIMG
Exception Message Box - שלמה גולדברג (הרב דוטנט)

שלמה גולדברג (הרב דוטנט)

מרצה בסלע ויועץ בעולם ה - net.

Exception Message Box

 

מי לא כתב את הקוד הבא:
 

try

{

 

}

catch (Exception ex)

{

    MessageBox.Show(ex.Message);

}

ובכלל הצגת הודעות באפליקציות חלונאיות תתבצע הרבה פעמים בעזרת MessageBox.
 
 
מתברר (משהו יחסית ישן) שהחברה של sql server פתחו MessageBox משלהם - בטח ראיתם מתי שהוא את החלון הבא: (אם עבדתם עם Sql Server Managment Studio)
 
MessageBox
 
 
לחלון הזה יש כמה פיצ'רים מאוד נחמדים, ראשית הוא נראה הרבה יותר טוב מה - MessageBox הסטנדרטי, בנוסף יש בתחתית החלון אפשרות להעתקת הודעת השגיאה ולחצן נוסף להצגת הפרטים הנוספים:
 
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 הרגיל ומשדרג את חויית המשתמש.
פורסם: Nov 29 2011, 11:45 AM by Shlomo | with 6 comment(s)

תוכן התגובה

eladkatz כתב/ה:

מגניב מאוד.

# November 30, 2011 12:59 AM

Shlomo כתב/ה:

יש לו מאפיין בשם buttons

# November 30, 2011 11:00 AM

Maxim כתב/ה:

יפה מאוד. מזמן חיפשתי אחד כזה לפרויקטים של WinForms.

# November 30, 2011 5:07 PM

שלמה גולדברג (הרב דוטנט) כתב/ה:

טיפול נכון בשגיאות הוא אחד הדברים המאתגרים בפיתוח אפליקציות, לדעתי אחד הדברים השגויים לעשות זה לכתוב

# December 5, 2011 10:31 AM

יחזקאל ב. כתב/ה:

יפה! תודה!

# December 7, 2011 10:20 AM
שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 2 and 8 and type the answer here:


Enter the numbers above: