الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ممن المساعدة في حفظ العناصر القيم في الفورم !؟

بدأه HOTFIX في 25 سبتمبر 2008 · 14 رد · 1,803 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله وبركاته...

ممكن احد يساعدني في كيفية حفظ قيم بعض العناصر في الفورم عند اغلاق الفورم وفتحه من جديد بدون استخدام قاعدة بيانات !

بحثت في النت و وجدت عدة طرق منها عن طريق Registry او XML اوProject Setting او الحفظ في ملف خارجي...

للاسف تلك الطرق كانت معقدة بالنسبة لمستواي في البرمجة (مبتدي)!! فاذا كان احد يعرف طرق سهلة باالاكود ياريت يفيدنا ؟

ارجو التطبيق في المثال الذي في المرفقات !

رمضان كريم :)

SaveInForm.rar

#2

السلا عليكم ورحمةالله

ممكن تحفظ القيم التي ترغب بها باستخدام خصائص جديدة في 2008

1- اضغط على مشروعك مرتين تظهرلك خصائص المشروع

2- اختار SETTING

3- عرف متغيرات لكل خاصية للفورم ترغب بحفظها

4- في الحدث ONCLOSE خزن الخصائص دي بامر

my.application.setting.xxx

حيث xxx هو المتغيرالذي عرفتة

5- فيform.load

اعد تحميل هذة الخصائص ال النموذج

#3

شكرا يا أخ tamer229 على الرد والمشاركة...

كما ذكرت سابقا حاولت استخدام هذه الطريقة لكن للاسف لم انجح لان خبرتي في الفيجوال بسيطة... :wacko:

اذا سمحت ممكن شرح بالتفصيل بااستخدام هذه الطريقة او اذا امكنك تطبيق الشرح على المثال الذي في المرفقات ورفعه من جديد...

مع تحياتي :)

#4

فى قائمة solution explorer انقر كليك يمين على المشروع او application

واختار منها properties

هيفتح لك نافذة بها عدة علامات تبويب او tab

اختار منها setting

فى عمود name اكتب اسم المتغير مثلاُ mytext

فى خانة type اختار منها النوع وليكن straing

فى خانة value اكتب القيمة الإفتراضية

وبهذا تكون عملت متغيرات عامه تغير تستدعيها فى المشروع وتسند لها القيمة النصية التي تريدها ان شاء الله يكون الرد واضح

يسر الله لك

سجل معنا فى النشرة البرمجية الأسبوعية علمني دوت كوم www.almny.com

#5

اخي العزيز

لقد اطلعت على النموذج

اذا كنت تريد حفظ كل هذة البيانات من غير قواعد بيانات

فعليك باستخدام ملفات عاديةترتبها كما تريد

النموذج خالي من البيانات ولم افهم منه شئ

وشكرا

#6
almny.com كتب:
فى قائمة solution explorer انقر كليك يمين على المشروع او application

واختار منها properties

هيفتح لك نافذة بها عدة علامات تبويب او tab

اختار منها setting

فى عمود name اكتب اسم المتغير مثلاُ mytext

فى خانة type اختار منها النوع وليكن straing

فى خانة value اكتب القيمة الإفتراضية

وبهذا تكون عملت متغيرات عامه تغير تستدعيها فى المشروع وتسند لها القيمة النصية التي تريدها ان شاء الله يكون الرد واضح

يسر الله لك

شكرا اخي الكريم على المشاركة...

للاسف الرد غير واضح اذا ممكن تفاصيل اكثر !! مثلا في المثال الذي في المرفقات هناك ثلاثة( دايت تايم بكر)(three datetime picker) فهل يكون الاسم في خانة name هو DateTimePicker1,

DateTimePicker3,DateTimePicker2 وماهي القيمة الافتراضية التى ستكون في خانة Value بالنسبة للتاريخ ، وماذا اختار في خانة Scope ! وكيف سيكون الكود في حدث فتح الفورم واغلاقه!!؟؟ بالنسبة لمبتدي مثلي في البرمجة هذه التفاصيل مهمة جدا...

#7
tamer229 كتب:
اخي العزيز

لقد اطلعت على النموذج

اذا كنت تريد حفظ كل هذة البيانات من غير قواعد بيانات

فعليك باستخدام ملفات عاديةترتبها كما تريد

النموذج خالي من البيانات ولم افهم منه شئ

وشكرا

اخي الكريم شكرا على التواصل...

لم افهم ماذا تقصد بحفظ البيانات بااستخدام ملفات عادية؟!

النموذج خالي من البيانات لانه لا يوجد به اكواد ! وكنت اتمنى ان تضع تلك الاكواد لحفظ القيم التى في النموذج وشرح الطريقة لذلك.

مع تحياتي...

#8

إذا أردت استخدام طريقة Application Settings إليك الطريقة بالتفصيل الممل

سأعطيك مثالا عن TextBox و DateTimePicker عن طريقة استخدام Settings حيث ستلاحظ أن الطريقة واحدة لجميع التحكمات

افتح خصائص MyProject وانتقل إلى صفحة Settings

أنشئ متغيراهناك من النوع String و سمه Text1 وأدخل في حقل Value أي شئ مثلا Just Text

أنشئ متغيرا آخر من النوع Date وسمه SomeDate واجعل حقل Value بالقيمة 25/10/2008 مثلا

من خصائص TextBox1 افتح إشارة + بجانب ApplicationSettings ثم انقر على الزر ... بجانب PropertyBinding فيظهر لك مربع حوار Application Settings for TextBox1 انتقل للخاصية Text وانقر على السهم بجانبها فتظهر لك قائمة تتضمن الإعداد Text1 الذي أنشأناه سابقا اختره ليظهر بجانب الخاصية Text ثم اضغط Ok إغلاق مربع الحوار

مبروك لقد قمت للتو بريط الإعداد Text1 بالخاصية Text العائدة لـ TextBox1

الآن بالنسبة للتحكم DateTimePicker1 كرر نفس العملية السابقة بالضبط من أجل ربط الخاصية Value مع الإعداد SomeDate الذي أنشأناه سابقا

مبروك لقد قمت بربط الإعداد SomeDate مع التحكم DateTimePicker1

الآن للحفظ يمكننا استخدام الكود التالي في إجراء معالجة الحدث FormClosing العائد لـ Form1 لحفظ جميع الإعدادات عند إغلاق النموذج

My.Settings.Save()

ولا تقلق من أجل التحميل فهذا ستقوم به بيئة التطوير من أجلك تلقائيا

طريقة أخرى للربط

إذهب إلى PorpertyBinding العائدة لـ TextBox2 كما فعلنا بالنسبة لـ TextBox1 منذ قليل واضغط على الزر ... لفتح مربع الحوار Application Settings For TextBox2 وانتقل للخاصية Text ثم انقر السهم بجانبها ولكن لايوجد لدينا متغير لحفظ إعدادات TextBox2 لاتقلق ستقوم بإنشائه من هنا اضغط على السهم بجانب الخاصية Text لفتح القائمة ثم اختر New فيظهر لك صندوق حوار جديد أدخل القيم Name و DefaultValue ثم اضغط Ok ثم Ok لحفظ التعديلات

تم تعديل هذه المشاركة بواسطة محمد سامر أبو سلو في 27 سبتمبر 2008 في 01:19

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#9
محمد سامر أبو سلو كتب:
إذا أردت استخدام طريقة Application Settings إليك الطريقة بالتفصيل الممل

سأعطيك مثالا عن TextBox و DateTimePicker عن طريقة استخدام Settings حيث ستلاحظ أن الطريقة واحدة لجميع التحكمات

افتح خصائص MyProject وانتقل إلى صفحة Settings

أنشئ متغيراهناك من النوع String و سمه Text1 وأدخل في حقل Value أي شئ مثلا Just Text

أنشئ متغيرا آخر من النوع Date وسمه SomeDate واجعل حقل Value بالقيمة 25/10/2008 مثلا

من خصائص TextBox1 افتح إشارة + بجانب ApplicationSettings ثم انقر على الزر ... بجانب PropertyBinding فيظهر لك مربع حوار Application Settings for TextBox1 انتقل للخاصية Text وانقر على السهم بجانبها فتظهر لك قائمة تتضمن الإعداد Text1 الذي أنشأناه سابقا اختره ليظهر بجانب الخاصية Text ثم اضغط Ok إغلاق مربع الحوار

مبروك لقد قمت للتو بريط الإعداد Text1 بالخاصية Text العائدة لـ TextBox1

الآن بالنسبة للتحكم DateTimePicker1 كرر نفس العملية السابقة بالضبط من أجل ربط الخاصية Value مع الإعداد SomeDate الذي أنشأناه سابقا

مبروك لقد قمت بربط الإعداد SomeDate مع التحكم DateTimePicker1

الآن للحفظ يمكننا استخدام الكود التالي في إجراء معالجة الحدث FormClosing العائد لـ Form1 لحفظ جميع الإعدادات عند إغلاق النموذج

My.Settings.Save()

ولا تقلق من أجل التحميل فهذا ستقوم به بيئة التطوير من أجلك تلقائيا

طريقة أخرى للربط

إذهب إلى PorpertyBinding العائدة لـ TextBox2 كما فعلنا بالنسبة لـ TextBox1 منذ قليل واضغط على الزر ... لفتح مربع الحوار Application Settings For TextBox2 وانتقل للخاصية Text ثم انقر السهم بجانبها ولكن لايوجد لدينا متغير لحفظ إعدادات TextBox2 لاتقلق ستقوم بإنشائه من هنا اضغط على السهم بجانب الخاصية Text لفتح القائمة ثم اختر New فيظهر لك صندوق حوار جديد أدخل القيم Name و DefaultValue ثم اضغط Ok ثم Ok لحفظ التعديلات

شكرا يا أخو المشرف على المساعدة...

بصراحة كان الشرح بالتفصيل المفيد وليس الممل..

طبقت خطوات الشرح وتم الحفظ بالنسبة لـ Textboxes و RichTextBoxes اما بالنسبة لـ DateTimePicker فتم الحفظ فقط لـ DateTimePicker1 اما بالنسبة لـ DateTimePicker2 و DateTimePicker3 للاسف لم يتم الحفظ رغم اني انشئت متغيرين مختلفين لكل منهما في ApplicationSettings وربطتهما عن طريق PropertyBinding !!؟؟ ارجو المساعدة في حل هذه المشكلة !

اتمنى المساعدة في في كيفية حفظ باقي العناصر الموجودة في النموذج وهي: CheckedListBox,Checkbox,RadioButton

في المرفقات النموذج بعد التعديل الاخير...

SaveInForm.rar

#10

بالنسبة لـ CheckedListBox لا أدري

بالنسبة لـ TextBox1 و RichTextBox1 و و DateTimePicker1 و CheckBox1 و RadioButton1 و RadioButton2 جاهز بالمرفقات

SaveInForm.rar

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#11

شكرا اخي المشرف الاستاذ محمد على المساعدة وان شاء الله تكون في ميزان حسناتك...

مازالت مشكلة حفظ DateTimePickers قائمة خاصة عند تعدد DateTimePicker اكثر عن واحد فاأرجو المساعدة في حل هذه المشكلة لانه ضروري للمشروع الذي اعمل عليه...

بالنسبة لـ CheckedListBox خلال بحثي في الويب وجدت مثالا يحتوي على خاصية الحفظ لكن المشكلة ان (الاكواد) التي فيه معقدة بالنسبة لي!؟ فاذا امكنك الاطلاع عليه وتبسيط (الاكواد) فيه والمثال ضمن المرفقات.

"و أدعو من الله ان يوفقك ويزيدك علما نافعا ويفرج عنك الكرب والهموم سبحانه وتعالى مجيب الدعاء"

CheckedListBox.rar

#12

مشان DateTimePicker الطريقة سهلة

الآن انسى الطريقة القديمة ولا تربط الخصائص اتركها مو مربوطة

هلق

أنشئ متغير من النوع Date من Settings مثل ما عملنا سابقا بس لاتربطوا بالخاصية من نافذة الخصائص رح نعملها يدوي وتأكد أنو جميع الخصائص مو مربوطة

في الحدث Load للنموذج استخدم الكود التالي للربط

		' يمكننا إضافة الربط يدويا
		Me.DateTimePicker1.DataBindings.Add(New System.Windows.Forms.Binding("Value", _
											Global.SaveInForm.My.MySettings.Default, "DateTime1", _
											True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged))

وهذا الكود سيعمل معك من أجل كل شئ كل ما عليك هو استبدال "Value" باسم أي خاصية تريدها و "DateTime1" باسم الإعداد الخاص بهذه الخاصية

مع ملاحظة أنو أحيانا مشان DateTimePicker عم بستخدم الخاصية Text إذا ما اشتغلت Value بس ليش ما بعرف

تم تعديل هذه المشاركة بواسطة محمد سامر أبو سلو في 29 سبتمبر 2008 في 12:37

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#13

ومشان كود CheckedListBox يؤسفني أنو صعب اشرحوا لسبب أنو بيستخدم الـ OOP والوراثة لحل المشكلة

وأنت عم تقللي أنك مبتدئ وأنا حاليا غير متوازن لتقديم شرح جيد لهذا الموضوع

لذا أعتذر بشدة عن شرح الكود في الوقت الحالي

تم تعديل هذه المشاركة بواسطة محمد سامر أبو سلو في 29 سبتمبر 2008 في 12:46

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#14
محمد سامر أبو سلو كتب:
مشان DateTimePicker الطريقة سهلة

الآن انسى الطريقة القديمة ولا تربط الخصائص اتركها مو مربوطة

هلق

أنشئ متغير من النوع Date من Settings مثل ما عملنا سابقا بس لاتربطوا بالخاصية من نافذة الخصائص رح نعملها يدوي وتأكد أنو جميع الخصائص مو مربوطة

في الحدث Load للنموذج استخدم الكود التالي للربط

		' يمكننا إضافة الربط يدويا
		Me.DateTimePicker1.DataBindings.Add(New System.Windows.Forms.Binding("Value", _
											Global.SaveInForm.My.MySettings.Default, "DateTime1", _
											True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged))

وهذا الكود سيعمل معك من أجل كل شئ كل ما عليك هو استبدال "Value" باسم أي خاصية تريدها و "DateTime1" باسم الإعداد الخاص بهذه الخاصية

مع ملاحظة أنو أحيانا مشان DateTimePicker عم بستخدم الخاصية Text إذا ما اشتغلت Value بس ليش ما بعرف

تم حفظ جميع القيم للـ DateTimePickers بهذه الطريقة التي ذكرتها...

بارك الله فيك و وفقك...

#15
محمد سامر أبو سلو كتب:
ومشان كود CheckedListBox يؤسفني أنو صعب اشرحوا لسبب أنو بيستخدم الـ OOP والوراثة لحل المشكلة

وأنت عم تقللي أنك مبتدئ وأنا حاليا غير متوازن لتقديم شرح جيد لهذا الموضوع

لذا أعتذر بشدة عن شرح الكود في الوقت الحالي

لقد ساعدتني بما فيه كفاية و زيادة... :thumb_up:

مع تقديري لمجهودك و وقتك... :)

في المرفقات النموذج بعد آخر التعديلات فيه...

SaveInForm.rar

تم تعديل هذه المشاركة بواسطة HOTFIX في 29 سبتمبر 2008 في 13:42

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…