أضف دعمًا لعمليات تحميل الملفات مع سهولة الاستخدام البديهية للسحب والإفلات.
تعمل العديد من التطبيقات الحديثة على ملفات يمكن للمستخدم تحميلها على نظامه. تعد برامج تحرير الصور و IDEs البرمجية ومعالجات النصوص كلها أمثلة. إذا كنت تقوم بإنشاء تطبيق Windows Form ، فيمكنك بسهولة إضافة هذه الوظيفة كجزء من واجهة المستخدم الخاصة بك.
تسمح لك تطبيقات Windows Form بسحب وإسقاط عناصر واجهة المستخدم مثل اللوحات أو مربعات القوائم. يمكنك استخدام عناصر واجهة المستخدم هذه لإنشاء وظيفة السحب والإفلات. عندما يسحب المستخدم ملفًا إلى لوحة ، يمكنك عرض التعليقات بناءً على هذا الملف.
كيفية إنشاء واجهة المستخدم لحاوية السحب والإفلات
يمكنك استخدام عنصر لوحة لإنشاء واجهة المستخدم لوظيفة السحب والإفلات. يمكنك بعد ذلك استخدام عنصر واجهة مستخدم ListBox لعرض أسماء أي ملفات يسحبها المستخدم إلى اللوحة.
- قم بإنشاء تطبيق Windows Forms جديد.
- في مربع الأدوات ، ابحث عن عنصر واجهة مستخدم للوحة ، واسحبه إلى اللوحة القماشية.
- قم بتمييز اللوحة الجديدة. في نافذة الخصائص ، قم بتغيير قيم الخصائص التالية:
ملكية
قيمة جديدة
اسم
DragDropPanel
اللون الخلفي
دخان ابيض
نمط الحدود
ثابت
مقاس
600, 400
مرئي
حقيقي
- في مربع الأدوات ، ابحث عن عنصر واجهة مستخدم ListBox ، واسحبه إلى اللوحة. ضعه بحيث يكون داخل اللوحة ، وتأكد من وجود بعض التباعد بين ListBox واللوحة.
- قم بتمييز ListBox الجديد ، وقم بتغيير قيم الخصائص التالية:
ملكية
قيمة جديدة
اسم
uploadedFilesList
اللون الخلفي
دخان ابيض
نمط الحدود
لا أحد
مقاس
500, 300
مرئي
خطأ شنيع
كيفية إضافة حدث السحب والإفلات
يمكنك استخدام الأحداث في تطبيق Windows Form لتنفيذ وظائف معينة فقط عند وقوع أحداث معينة.
لإضافة وظائف إلى لوحة السحب والإفلات ، ستحتاج إلى إضافة حدثين. سيحدث حدث "DragEnter" عندما تقوم بسحب الملفات فوق اللوحة. سيحدث حدث "DragDrop" عندما تترك الماوس لإسقاط الملفات في اللوحة.
- قم بتمييز عنصر واجهة مستخدم اللوحة الخارجية.
- في نافذة الخصائص ، انقر فوق تفتيح رمز لفتح قائمة الأحداث.
- انقر نقرًا مزدوجًا فوق ملف أدخل حدث لتوليد وظيفة جديدة. سيتم تنفيذ هذه الوظيفة عند سحب الملفات فوق اللوحة.
- داخل الوظيفة الجديدة ، قم بتغيير رمز الماوس للإشارة إلى إجراء السحب / الإفلات:
خاصفارغالسحب_لوحة_السحب_إدخال(كائن المرسل ، DragEventArgs e)
{
// يغير رمز الماوس
ه. التأثير = DragDropEffects. الجميع؛
} - اضغط على نموذج 1.cs [تصميم] في أعلى نافذة Visual Studio ، للعودة إلى عرض لوحة الرسم. قم بتمييز عنصر واجهة مستخدم اللوحة.
- في نافذة الخصائص ، انقر فوق تفتيح رمز للعودة إلى قائمة الأحداث. هذه المرة ، انقر نقرًا مزدوجًا فوق ملف دراج دروب حدث. سيؤدي هذا إلى إنشاء وظيفة أخرى سيتم تنفيذها عندما تترك الماوس لإسقاط الملفات في اللوحة.
- داخل وظيفة DragDrop الجديدة ، احصل على قائمة الملفات التي يسحبها المستخدم إلى اللوحة. يمكنك العثور على هذا في تفاصيل الحدث التي يتم تمريرها تلقائيًا إلى الوظيفة.
خاصفارغdragDropPanel_DragDrop(كائن المرسل ، DragEventArgs e)
{
سلسلة [] ملفات = (سلسلة []) هـ. بيانات. GetData (تنسيقات البيانات. سقوط ملف، خطأ شنيع);
}
كيفية عرض قائمة الملفات المسحوبة
الآن بعد أن أضفت وظيفة للمستخدم لسحب الملفات وإفلاتها ، يمكنك عرض أسماء الملفات باستخدام عنصر واجهة مستخدم ListBox.
- داخل وظيفة dragDropPanel_DragDrop () ، بعد الحصول على قائمة الملفات ، استخدم حلقة for-loop للتكرار خلال كل ملف.
foreach (فار ملف في ملفات)
{
} - داخل الحلقة ، احصل على اسم الملف فقط. افصل اسم الملف عن مسار الملف ، وقم بتخزينه في متغير منفصل. إذا كنت تستخدم جهاز Mac ، فقد تحتاج إلى تعديل الكود لمراعاة الشرطات المائلة للأمام بدلاً من الخطوط المائلة للخلف.
سلسلة fileName = ملف. سلسلة فرعية (ملف. LastIndexOf ("\\") + 1، ملف. الطول - (ملف. LastIndexOf ("\\") + 1));
- أضف اسم الملف إلى عنصر واجهة مستخدم ListBox.
يحاول
{
uploadedFilesList.أغراض.يضيف(اسم الملف);
}
يمسك (استثناءاستثناء)
{
وحدة التحكم. اكتب (استثناء);
} - لا يكون ListBox مرئيًا بشكل افتراضي. بعد حلقة for-loop ، قم بتغيير رؤية ListBox إلى true:
uploadedFilesList. مرئي = حقيقي;
- قم بتعديل المُنشئ في الجزء العلوي من الملف. تعيين AllowDrop و لف تلقائي خصائص لوحة السحب والإفلات إلى true.
عام Form1 ()
{
InitializeComponent () ،
DragDropPanel. AllowDrop = حقيقي;
DragDropPanel. التمرير التلقائي = حقيقي;
}
كيفية مسح القائمة
بعد أن يسحب المستخدم العناصر إلى اللوحة ، قد يرغب في مسح القائمة والبدء من جديد. يمكنك إضافة زر لمسح القائمة عندما ينقر المستخدم عليها.
- باستخدام صندوق الأدوات ، اسحب زرًا على اللوحة القماشية.
- قم بتمييز الزر. استخدم نافذة الخصائص لتغيير الخصائص التالية إلى القيم الجديدة:
ملكية
قيمة جديدة
اسم
clearButton
نص
واضح
- انقر نقرًا مزدوجًا فوق الزر لإنشاء وظيفة جديدة. سيتم تنفيذ هذه الوظيفة عند النقر فوق الزر في وقت التشغيل:
خاصفارغclearButton_Click(كائن المرسل ، EventArgs e)
{}
- داخل الوظيفة ، امسح محتويات عنصر واجهة مستخدم ListBox وقم بإخفائه:
خاصفارغclearButton_Click(كائن المرسل ، EventArgs e)
{
uploadedFilesList.أغراض.واضح();
uploadedFilesList. مرئي = خطأ شنيع;
}
كيفية اختبار لوحة السحب والإفلات
لاختبار وظيفة السحب والإفلات ، قم بتشغيل التطبيق واسحب بعض الملفات إلى اللوحة. إذا لزم الأمر ، يمكنك أيضًا تصحيح تطبيق Winforms الخاص بك في Visual Studio في وقت التشغيل. سيساعدك هذا على فهم ما يحدث في كل سطر من التعليمات البرمجية.
- اضغط على زر التشغيل الأخضر أعلى نافذة Visual Studio لتشغيل التطبيق.
- اسحب بعض الملفات من مستكشف الملفات ، وقم بإفلاتها في اللوحة. تأكد من أنك لا تقوم بتشغيل Visual Studio في وضع المسؤول. ستحتاج إلى تكوين أذونات أمان إضافية للسحب والإفلات للعمل في وضع المسؤول.
- سيتم تحديث اللوحة لتظهر لك أسماء الملفات التي قمت بسحبها إلى اللوحة.
- اسحب عددًا كافيًا من الملفات وسترى أن لوحة السحب والإفلات تعرض شريط تمرير على جانبها الأيمن تلقائيًا.
- اضغط على واضح زر لتفريغ القائمة.
استخدام وظيفة السحب والإفلات في تطبيقات Windows Form
الآن نأمل أن تفهم كيفية إضافة وظيفة السحب والإفلات إلى تطبيق Windows Form. هناك العديد من الميزات الأخرى التي يمكنك استكشافها للقيام بأشياء مثيرة للاهتمام باستخدام نماذج Windows.