כיצד להשתמש ב-OpenFileDialog ביישומי C# GUI

Kyzd Lhstms B Openfiledialog Byyswmy C Gui



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

במדריך זה, נראה לך את היסודות של עבודה עם יישום גרפי של Windows על ידי לימוד כיצד לבנות אפליקציה שיכולה לקרוא את הקבצים בלחיצת כפתור.







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



יצירת פרויקט

לפני שנוכל להשתמש ברכיב OpenFileDialog, עלינו ליצור פרויקט התומך ב-Windows Forms. אתה יכול לבצע את השלבים כפי שמתואר להלן באמצעות Visual Studio 2022 ומעלה.



הפעל את Visual Studio 2022 ובחר באפשרות 'צור פרויקט חדש'.






בשלב הבא, בחר תבנית פרויקט שבה תרצה להשתמש. במקרה שלנו, ברצוננו ליצור אפליקציית Windows Forms. בחר תבנית זו.


בשלב הבא, בחר את גרסת ה-NET שלך וציין שם לפרויקט שלך.



הוספת כפתור

לאחר יצירת הפרויקט, Visual Studio יעביר אותך לעורך גרירה ושחרור שבו תוכל לגרור את הרכיבים שאתה צריך.

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


שנה את מאפיין הטקסט של הכפתור ל'פתח קובץ'.

לחצן לחץ על מטפל באירועים

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

לחץ פעמיים על הכפתור או הקש F7 כדי לפתוח את עורך הקוד.


במטפל באירועי כפתור, הוסף את הקוד הבא כדי לאתחל ולפתוח את OpenFileDialog:

כפתור ביטול פרטי1_לחץ ( שולח אובייקט, EventArgs ה )
{
באמצעות ( OpenFileDialog openFileDialog = OpenFileDialog חדש ( ) )
{
אם ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
string selectedFile = openFileDialog.FileName;
MessageBox.Show ( 'קובץ שנבחר:' + קובץ נבחר ) ;
}
}
}


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

לאחר מכן אנו בודקים אם המשתמש אישר את בחירת הקובץ על ידי לחיצה על כפתור 'אישור'.

לבסוף, אנו מביאים את הנתיב המלא של הנתיב שנבחר ומציגים אותו בתוך רכיב MessageBox.

נסה להריץ את הקוד ותראה מה הוא עושה. במקרה שלנו, הקוד מאפשר לנו לפתוח את בורר הקבצים בהתבסס על לחיצת כפתור ולהציג את הנתיב לקובץ שנבחר באופן הבא:

בחירת סוגי קבצים ספציפיים

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

תסתכל על הקוד הבא:

כפתור ביטול פרטי1_לחץ ( שולח אובייקט, EventArgs ה )
{
באמצעות ( OpenFileDialog openFileDialog = OpenFileDialog חדש ( ) )
{
openFileDialog.Filter = 'תמונות|*.jpg,*.jpeg,*.png,*.gif,*.bmp,*.tiff,*.webp,*.heif,*.ico,*.raw' ;
אם ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
string selectedFile = openFileDialog.FileName;
MessageBox.Show ( 'קובץ שנבחר:' + קובץ נבחר ) ;
}
}
}


לאחר שנפעיל את הקוד ונלחץ על הכפתור, אנו אמורים לראות את סוגי הקבצים שאנו רשאים לבחור כפי שמוצג בדוגמה הבאה:

הצגת תוכן הקובץ

כדי להוסיף פונקציונליות נוספת לאפליקציה שלנו, אנו יכולים להציג את תוכן הקובץ באמצעות MessageBox באופן הבא:

כפתור ביטול פרטי1_לחץ ( שולח אובייקט, EventArgs ה )
{
באמצעות ( OpenFileDialog openFileDialog = OpenFileDialog חדש ( ) )
{
openFileDialog.Filter = 'קבצי טקסט|*.txt' ;
אם ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
string selectedFile = openFileDialog.FileName;
string content = File.ReadAllText ( הקובץ שנבחר ) ;
MessageBox.Show ( 'תוכן קובץ:' + תוכן ) ;
}
}
}


במקרה זה, אנו מסננים עבור קבצי טקסט מכיוון שהם פשוטים לקריאה. לאחר בחירת הקובץ, אנו משתמשים בקובץ File.ReadAllText() ונשמור את תוכן הקובץ למשתנה.

לאחר מכן אנו מציגים את תוכן הקובץ באמצעות MessageBox כפי שמוצג בפונקציונליות הקובץ המתקבלת:

בחירת מספר קבצים

אתה יכול גם לאפשר ל- OpenFileDialog לקרוא קבצים מרובים באמצעות המאפיין 'MultiSelect'. זה שימושי כאשר אתה צריך לבחור קבצים מרובים כגון העתקה, העברה וכו'.

הפונקציה היא כדלקמן:

כפתור ביטול פרטי1_לחץ ( שולח אובייקט, EventArgs ה )
{
באמצעות ( OpenFileDialog openFileDialog = OpenFileDialog חדש ( ) )
{
openFileDialog.Filter = 'קבצי טקסט|*.txt' ;
openFileDialog.Multiselect = נָכוֹן ;
אם ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
לכל אחד ( היה קוֹבֶץ ב openFileDialog.FileNames )
{
MessageBox.Show ( 'קבצים שנבחרו:' + קוֹבֶץ ) ;
}
}
}
}


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

לאחר מכן אנו חוזרים על כל קובץ שנבחר ומציגים את הנתיב שלו ב-MessageBox.


הנה לך!

סיכום

במדריך המדהים הזה, למדת כיצד לבנות יישום GUI בסיסי ב-C# שיכול לקרוא את הקובץ ולהציג את התוכן באמצעות OpenFileDialog. למדת גם על התכונות כמו סינון לקבצים ספציפיים, בחירת קבצים מרובים וכו'.