السلام عليكم و رحمة الله وبركاته
كل عام و أنتم بخير
---------------------------------------------------------------
سنتعلم في هذا الموضوع طريقة حفظ اعدادات برنامجك
---------------------------------------------------------------
لمحة سريعة :
لكل برنامج ما اعدادات خاصة به فلو لاحظت في البرامج الكبيرة انها تملك اعدادات خاصة بها ولو قمت بتغيير هذه الاعدادات واعدت تشغيل البرنامج لوجدت ان الاعدادت قد تم حفظه
نأخذ مثال سريع على برنامج الاكسبلور
1 : شغل الاكسبلور و اختر خصائص ثم ضع موقعك المفضل كصفحة البداية
أعد تشغيل الاكسبلور واذهب الى خصائص ستجد الموقع الذي وضعته . صح ؟
2 :
شغل البرنامج قم بتغير مكان النافذة الرئيسة
الآن اغلق الاكسبلور
أعد تشغيله
ماذا تلاحظ ؟؟؟؟؟
تلاحظ أن الشاشة الرئيسة قد ظهرت في المكان الذي اخترته آخر مرة
كيف حدث هذا ؟
ببساطة لقد تم حفظ القيم الخاصة ب Top & Left عند غلق البرنامج
ما الطريقة المتبعة ؟
هناك عدة طرق مثل حفظ الاعدادات في الرجيستري أو في ملف نصي أو حتى في قاعدة بيانات
لكن كل هذه الطرق ليست جيدة
اذ يمكن للمستخدم العبث بها
الطريقة السليمة هي استخدام الكلاس (ان صح التعبير) My.Settings
كيف يتم هذا ؟
أولا افتح مشروع جديد و اختر له أي اسم
الآن انتقل الى Solution Explorer
واختر مشروعك ثم بزر الفأرة اختر Properties
اختر Settings
[IMG]<img src="http://zffat.com/up/upfiles/3Nd41851.jpg">[/IMG]
الآن سنقوم باضافة القيم التي نريدها
سنضع في هذا المثال ثلاث قيم (عبارة عن متغيرات)
الأولى للخاصية Top
الثانية للخاصية Left
الثالثة : Nickname
الآن اختر نوع متغيراتك (string,integer,color,...)
أضف قيمك الابتدائية (هذا ان أردت)
الآن ستلاحظ انه تم انشاء ملف بعنوان app.config مكتوب بلغة xml يحمل جميع القيم التي اخترتها
الآن انتقل الى الفورم وألق عليه تكست بوكس
انتقل الى حدث فورم لواد وضعه فيه الكود التالي
| كود |
Private Sub Form1_Load(ByVal sender As System.******, ByVal e As System.EventArgs) Handles MyBase.Load
****Box1.**** = My.Settings.Nickname
Me.Top = My.Settings.Top
Me.Left = My.Settings.Left
End Sub
|
الكود واضح
سنقوم بعرض القيمة الموجودة في الخاصية Nickname
ثم نقوم باسناد القيم الخاصة ب Left & Top الى الفورم
الآن انتقل الى حدث FormClosing
وضع الكود التالي
| كود |
Private Sub Form1_FormClosing(ByVal sender As ******, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
My.Settings.Nickname = ****Box1.****
My.Settings.Top = Me.Top
My.Settings.Left = Me.Left
My.Settings.Save()
End Sub
|
في هذا الحدث سنقوم بحفظ جميع الاعدادت
شغل البرنامج وقم بتغيير النص الذي يظهر في التكست بوكس ثم قم بتغيير مكان الفورم على الشاشة بعدها قم باغلاق البرنامج
أعد تشغيل البرنامج و لاحظ ماذا حدث
لقد تم حفظ جميع الاعدادات
لتحميل المثال الذي قمنا به
من هنا
بالتوفيق....