הוסף תמיכה בהעלאות קבצים עם השימושיות האינטואיטיבית של גרירה ושחרור.
יישומים מודרניים רבים פועלים על קבצים שמשתמש יכול להעלות למערכת שלו. עורכי תמונות, קוד IDE ומעבדי תמלילים הם כולם דוגמאות. אם אתה בונה יישום Windows Form, אתה יכול בקלות להוסיף פונקציונליות זו כחלק מממשק המשתמש שלך.
יישומי Windows Form מאפשרים לך לגרור ולשחרר רכיבי ממשק משתמש כגון לוחות או תיבות רשימה. אתה יכול להשתמש ברכיבי ממשק המשתמש האלה כדי ליצור את פונקציונליות הגרירה והשחרור שלך. כאשר המשתמש גורר קובץ ללוח, אתה יכול להציג משוב על סמך הקובץ הזה.
כיצד ליצור את ממשק המשתמש עבור כלי הגרירה והשחרור
אתה יכול להשתמש ברכיב פאנל כדי ליצור את ממשק המשתמש עבור פונקציונליות הגרירה והשחרור. לאחר מכן תוכל להשתמש באלמנט של ListBox UI כדי להציג את שמות הקבצים שמשתמש גורר אל הלוח.
- צור יישום חדש של Windows Forms.
- בארגז הכלים, חפש רכיב ממשק משתמש בחלונית וגרור אותו אל הבד.
- הדגש את הפאנל החדש. בחלון המאפיינים, שנה את הערכים של המאפיינים הבאים:
תכונה
ערך חדש
שֵׁם
dragDropPanel
צבע אחורי
עשן לבן
BorderStyle
FixedSingle
גודל
600, 400
גלוי
נָכוֹן
- בארגז הכלים, חפש אלמנט של ListBox UI וגרור אותו אל הבד. מקם אותו כך שהוא בתוך הפאנל, וודא שיש מרווח מסוים בין ה-ListBox לפאנל.
- סמן את ה-ListBox החדש ושנה את הערכים של המאפיינים הבאים:
תכונה
ערך חדש
שֵׁם
העלה FilesList
צבע אחורי
עשן לבן
BorderStyle
אף אחד
גודל
500, 300
גלוי
שֶׁקֶר
כיצד להוסיף את אירוע גרור ושחרר
אתה יכול להשתמש אירועים ביישום Windows Form לבצע פונקציות מסוימות רק כאשר מתרחשים אירועים מסוימים.
כדי להוסיף פונקציונליות לחלונית הגרירה והשחרור, תצטרך להוסיף שני אירועים. אירוע "DragEnter" יתרחש כאשר תגרור קבצים מעל הלוח. אירוע "DragDrop" יתרחש כאשר תשחרר את העכבר כדי לשחרר את הקבצים ללוח.
- הדגש את רכיב ממשק המשתמש של הלוח החיצוני.
- בחלון המאפיינים, לחץ על הבהרה סמל לפתיחת רשימת האירועים.
- לחץ פעמיים על DragEnter אירוע כדי ליצור פונקציה חדשה. פונקציה זו תפעל כאשר תגרור קבצים מעל הלוח.
- בתוך הפונקציה החדשה, שנה את הסמל של העכבר כדי לציין את פעולת הגרירה/שחרור:
פְּרָטִיבָּטֵלdragDropPanel_DragEnter(שולח אובייקט, DragEventArgs e)
{
// משנה את הסמל של העכבר
ה. אפקט = DragDropEffects. את כל;
} - הקלק על ה Form 1.cs [עיצוב] לשונית בחלק העליון של חלון Visual Studio, כדי לחזור לתצוגת הקנבס. הדגש את רכיב ממשק המשתמש של הלוח.
- בחלון המאפיינים, לחץ על הבהרה סמל כדי לחזור לרשימת האירועים. הפעם, לחץ פעמיים על גרירה ושחרור מִקרֶה. פעולה זו תיצור פונקציה נוספת שתתבצע כאשר תשחרר את העכבר כדי לשחרר את הקבצים ללוח.
- בתוך פונקציית DragDrop החדשה, קבל את רשימת הקבצים שהמשתמש גורר לחלונית. תוכלו למצוא זאת בפרטי האירוע המועברים אוטומטית לפונקציה.
פְּרָטִיבָּטֵלdragDropPanel_DragDrop(שולח אובייקט, DragEventArgs e)
{
string[] files = (string[])e. נתונים. GetData (DataFormats. FileDrop, שֶׁקֶר);
}
כיצד להציג את רשימת הקבצים הנגררים
כעת, לאחר שהוספתם את הפונקציונליות לגרירה ושחרור של קבצים למשתמש, תוכלו להציג את שמות הקבצים באמצעות אלמנט ה-ListBox UI.
- בתוך הפונקציה dragDropPanel_DragDrop(), לאחר קבלת רשימת הקבצים, השתמש ב-for-loop ללולאה בכל קובץ.
לכל אחד (var קובץ בקבצים)
{
} - בתוך for-loop, קבל רק את שם הקובץ. הפרד את שם הקובץ מנתיב הקובץ ואחסן אותו במשתנה נפרד. אם אתה משתמש ב-Mac, ייתכן שיהיה עליך לשנות את הקוד כך שייקח בחשבון קווי לוכסן קדימה במקום נטוי אחורי.
מחרוזת fileName = file. מחרוזת משנה (קובץ. LastIndexOf("\\") + 1, קובץ. אורך - (קובץ. LastIndexOf("\\") + 1));
- הוסף את שם הקובץ לרכיב ה-ListBox UI.
לְנַסוֹת
{
העלה FilesList.פריטים.לְהוֹסִיף(שם קובץ);
}
לתפוס (יוצא מן הכלליוצא מן הכלל)
{
לְנַחֵם. WriteLine(יוצא מן הכלל);
} - ה-ListBox אינו גלוי כברירת מחדל. לאחר ה-for-loop, שנה את הנראות של ListBox ל-true:
העלה FilesList. גלוי = נָכוֹן;
- שנה את הבנאי בחלק העליון של הקובץ. הגדר את AllowDrop ו גלילה אוטומטית המאפיינים של חלונית הגרירה והשחרור למצב נכון.
פּוּמְבֵּי צורה 1()
{
InitializeComponent();
dragDropPanel. AllowDrop = נָכוֹן;
dragDropPanel. AutoScroll = נָכוֹן;
}
כיצד לנקות את הרשימה
לאחר שהמשתמש גרר פריטים לחלונית, ייתכן שהוא ירצה לנקות את הרשימה ולהתחיל מחדש. אתה יכול להוסיף לחצן כדי לנקות את הרשימה כאשר המשתמש לוחץ עליה.
- באמצעות ארגז הכלים, גרור לחצן אל הבד.
- הדגש את הכפתור. השתמש בחלון המאפיינים כדי לשנות את המאפיינים הבאים לערכים החדשים:
תכונה
ערך חדש
שֵׁם
ClearButton
טֶקסט
ברור
- לחץ פעמיים על הכפתור כדי ליצור פונקציה חדשה. פונקציה זו תפעל כאשר תלחץ על הכפתור בזמן ריצה:
פְּרָטִיבָּטֵלclearButton_Click(שולח אובייקט, EventArgs e)
{}
- בתוך הפונקציה, נקה את התוכן של רכיב ה-ListBox UI והסתר אותו:
פְּרָטִיבָּטֵלclearButton_Click(שולח אובייקט, EventArgs e)
{
העלה FilesList.פריטים.ברור();
העלה FilesList. גלוי = שֶׁקֶר;
}
כיצד לבדוק את לוח הגרירה והשחרור
כדי לבדוק את פונקציונליות הגרירה והשחרור, הפעל את היישום וגרור כמה קבצים ללוח. אם צריך, אפשר גם איתור באגים ביישום Winforms שלך ב-Visual Studio בזמן ריצה. זה יעזור לך להבין מה קורה בכל שורת קוד.
- לחץ על לחצן ההפעלה הירוק בחלק העליון של חלון Visual Studio כדי להפעיל את היישום.
- גרור כמה קבצים מסייר הקבצים שלך ושחרר אותם לחלונית. ודא שאינך מפעיל את Visual Studio במצב מנהל מערכת. תצטרך להגדיר הרשאות אבטחה נוספות עבור גרירה ושחרור כדי לעבוד במצב מנהל.
- החלונית תתעדכן כדי להציג לך את שמות הקבצים שגררת לחלונית.
- גרור מספיק קבצים ותראה שחלונית הגרירה והשחרור מציגה פס גלילה בצידו הימני באופן אוטומטי.
- הקלק על ה ברור לחצן כדי לרוקן את הרשימה.
שימוש בפונקציונליות גרור ושחרור באפליקציות טופס של Windows
כעת אתה מקווה להבין כיצד להוסיף פונקציונליות גרירה ושחרור ליישום Windows Form שלך. ישנן תכונות רבות אחרות שאתה יכול לחקור כדי לעשות דברים מעניינים עם Windows Forms.