Winforms: כיצד ליצור ולהציג תיבת דו-שיח קלט

Winforms: כיצד ליצור ולהציג תיבת דו-שיח קלט

זה נפוץ שיישומי שולחן העבודה משתמשים בתיבות דו-שיח בעת בקשת מידע מהמשתמש. ניתן ליצור תיבות דו-שיח לקלט ביישום Windows Forms, על-ידי הצגת חלון חדש.





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





איפור של סרטון היום

כיצד ליצור פונקציה בלחיצה כדי להפעיל את תיבת הדו-שיח הקלט

תיבת הדו-שיח לא צריכה להיות תמיד גלויה. אתה יכול להפעיל את תיבת הדו-שיח כדי להציג כאשר המשתמש משלים פעולה, כגון לחיצה על כפתור. אתה יכול גם ללמוד עוד על אחרים אירועי Windows Forms שאתה יכול להשתמש באפליקציית Windows Forms.





הוסף כפתור לקנבס וצור פונקציה שתפעל כאשר המשתמש ילחץ על הכפתור.

  1. ליצור אפליקציית Windows Forms חדשה ב-Visual Studio.
  2. בארגז הכלים, חפש פקד ממשק משתמש לחצן.
  3. לחץ וגרור כפתור אל הבד.   השתנו מאפיינים של כפתור על קנבס Winforms
  4. בחלון המאפיינים, שנה את המאפיינים של הכפתור לערכים החדשים הבאים:
    שֵׁם כפתור דיאלוג
    גודל 400, 100
    טֶקסט פתח תיבת קלט
      נוספה תווית לקנבס אפליקציית Winforms
  5. בארגז הכלים, לחץ וגרור תווית על הבד. הנח את התווית בצד ימין של הכפתור.
  6. בחלון המאפיינים, שנה את המאפיינים של התווית לערכים הבאים:
    שֵׁם labelResponseInput
    גלוי שֶׁקֶר
  7. לחץ פעמיים על כפתור תיבת הדו-שיח החדש. פעולה זו תיצור פונקציה בלחיצה בקובץ ה-CS שמאחורי הקוד עבור הטופס.
    private void dialogButton_Click(object sender, EventArgs e) 
    {
    // The code here will trigger when the user clicks on the button
    // It will display the input dialog box
    }

כיצד ליצור את תיבת הדו-שיח קלט

צור את תיבת הדו-שיח בתוך פונקציה חדשה. הפונקציה תיצור טופס חדש באופן פרוגרמטי, ותוסיף לו רכיבי ממשק משתמש, כולל תיבת טקסט עם כפתורי 'OK' ו-'Cancel'.



  1. תחת dialogButton_Click() פונקציה, צור פונקציה חדשה שתיצור את תיבת הדו-שיח Input. הפרמטר 'כותרת' יופיע בפינה השמאלית העליונה של החלון. הערך של 'promptText' יוצג למשתמש. הפרמטר 'value' הוא פרמטר out ויחזיר את הערך שהמשתמש הזין בתוך תיבת הקלט.
    public static DialogResult InputBox(string title, string promptText, ref string value) 
    {
    }
  2. בתוך ה תיבת קלט() פונקציה, צור את רכיבי ממשק המשתמש שיוצגו בטופס.
    Form form = new Form(); 
    Label label = new Label();
    TextBox textBox = new TextBox();
    Button buttonOk = new Button();
    Button buttonCancel = new Button();
  3. הוסף את הכותרת של הטופס, שתוצג בפינה השמאלית העליונה. הוסף גם את ההודעה הראשית שתוצג למשתמש, מעל תיבת הקלט.
    form.Text = title; 
    label.Text = promptText;
  4. הוסף ערכים עבור הלחצנים 'אישור' ו'ביטול'. מאפיין הטקסט מכיל את הטקסט שמופיע על גבי כל כפתור. המאפיין DialogResult מכיל את סוג התוצאה שהכפתור ייצג. אתה יכול לקרוא עוד על DialogResult ב התיעוד הרשמי של מיקרוסופט
    buttonOk.Text = "OK"; 
    buttonCancel.Text = "Cancel";
    buttonOk.DialogResult = DialogResult.OK;
    buttonCancel.DialogResult = DialogResult.Cancel;
    .
  5. להשתמש ב SetBounds() שיטה להגדיר את מיקומי x ו-y של התווית, תיבת הטקסט והלחצנים בטופס. ניתן גם לציין את הרוחב והגובה של כל אלמנט.
    label.SetBounds(36, 36, 372, 13); 
    textBox.SetBounds(36, 86, 700, 20);
    buttonOk.SetBounds(228, 160, 160, 60);
    buttonCancel.SetBounds(400, 160, 160, 60);
  6. הגדר כמה מאפיינים עבור חלון הדו-שיח עצמו. מאפיינים אלה מגדירים את גודל הטופס, הגבולות ומיקום ההתחלה. זה גם שולט ביכולת למזער או למקסם את החלון, או לשנות את גודל התווית במידת הצורך.
    label.AutoSize = true; 
    form.ClientSize = new Size(796, 307);
    form.FormBorderStyle = FormBorderStyle.FixedDialog;
    form.StartPosition = FormStartPosition.CenterScreen;
    form.MinimizeBox = false;
    form.MaximizeBox = false;
  7. הוסף את רכיבי ממשק המשתמש לטופס החדש, והגדר את לחצני האישור והביטול של הטופס לאובייקטי הכפתור שנוצרו קודם לכן.
    form.Controls.AddRange(new Control[] { label, textBox, buttonOk, buttonCancel }); 
    form.AcceptButton = buttonOk;
    form.CancelButton = buttonCancel;
  8. הצג את חלון הדו-שיח החדש שנוצר למשתמש.
    DialogResult dialogResult = form.ShowDialog();
  9. אחסן את הערך שהמשתמש הזין בתיבת הטקסט. החזר את תוצאת הטופס, שתהיה 'בסדר', או 'ביטול', בהתבסס על הכפתור שעליו לוחץ המשתמש.
    value = textBox.Text; 
    return dialogResult;

כיצד להשתמש בתיבת הדו-שיח קלט

כדי להשתמש בתיבת הדו-שיח הקלט, התקשר ל- תיבת קלט() לתפקד בתוך dialogButton_Click() פוּנקצִיָה. כאשר המשתמש לוחץ על כפתור 'פתח תיבת קלט', הוא יציג את תיבת הדו-שיח.

  1. בתוך ה dialogButton_Click() פונקציה, צור משתנה לאחסון הערך שהמשתמש מזין בתוך תיבת הטקסט. ערך זה יגיע מפרמטר 'ערך' החוצה.
    string value = "";
  2. הצג את תיבת הדו-שיח על ידי קריאה ל- תיבת קלט() פוּנקצִיָה. בדוק אם המשתמש לוחץ על כפתור 'אישור', ואם כן, הוסף קצת טקסט על המסך כדי להציג את התגובה בחזרה למשתמש.
    if (InputBox("Dialog Box", "What is your name?", ref value) == DialogResult.OK) 
    {
    labelResponseInput.Visible = true;
    labelResponseInput.Text = "Your name: " + value;
    }

כיצד להציג את תיבת דו-שיח הקלט

הפעל את היישום והפעל את תיבת הדו-שיח.





  1. לחץ על כפתור ההפעלה הירוק בחלק העליון של חלון Visual Studio.
  2. הקלק על ה פתח תיבת קלט לחצן כדי להציג את תיבת הדו-שיח.
  3. הזן שם בתיבת הטקסט ולחץ על בסדר לַחְצָן. תיבת הדו-שיח תיסגר ותציג את התוצאות שהוזנו בתיבת הטקסט.
  4. הקלק על ה פתח תיבת קלט לחצן שוב כדי לפתוח מחדש את תיבת הדו-שיח.
  5. הקלק על ה לְבַטֵל לחצן לסגירת תיבת הדו-שיח. פעולה זו מבטלת את תיבת הדו-שיח מבלי להשלים פעולות או לעדכן את ממשק המשתמש.

הוספת תוכן ורכיבי ממשק משתמש לאפליקציית Windows Forms שלך

אתה יכול ליצור תיבות דו-שיח לקלט ביישום Windows Forms, ולהציג אותן למשתמש כאשר מתרחשים אירועים מסוימים. ניתן ליצור חלון דו-שיח חדש על-ידי יצירת טופס חדש. לאחר מכן תוכל להוסיף לו רכיבי ממשק משתמש חדשים, כגון תוויות, תיבות טקסט או כפתורים.

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





אם ברצונך להוסיף תוכן נוסף לממשק המשתמש או לתיבת הדו-שיח שלך, תוכל לחקור כיצד להוסיף רכיבי ממשק משתמש אחרים. זה כולל אלמנטים כגון צורות או תמונות.

למה הטלפון שלי תקוע על הלוגו של תפוח