السلام عليكم سؤال في لغة السي شارب عايز انقل بيانات من داتا جريد فيوا في فورم 1 مخزنه في ماي سيكوال الي داتا جريد فيوا في فورم 2 او الي تكست بوكس في فورم اخر لتسجيلها في ماي سيكوال اخر ممكن الكود لو سمحتم وشكرا جزيلا
تقييم الموضوع :
|
[C#.NET] نقل بيانات من فور الي فورم
|
|
08-03-25, 05:47 PM
وعليكم السلام ورحمة الله وبركاته
المشكلة عندك هي : كيف تتحكم بأداة موجودة على نافذة ثانية؟؟ : لن أشرح لك المشكلة نفسها بل مثال بسيط عنها وأنت قم بحل مشكلتك مع نقل البيانات، للتبسيط : أفتح مشروع جديد وضع فيه نافذتين : في النافذة الأولى ضع عليها زرين (button1) - (button2) وفي النافذة الثانية ضع عليها (textBox1) من أجل أن تجعل الـ (textBox1) مرئية في كل النوافذة الأخرى عليك منح صلاحيات الرؤية لها وذلك من خلال الخاصية (Modifiers) اختر منها القيمة (Public) مثلاً.. نرجع للنافذة الأولى التي سنقوم من خلالها التحكم بمدخلات التكست الموجودة على النافذة الثانية. عليك أولاً أن تصنع متغير مرتبط مرجعياً بالنافذة الثانية بحيث يتحكم بالنافذة الثانية إن كانت مفتوحةو إن لم تكن مفتوحة يفتح نسخة جديدة عنها. ضمن منطقة التصريح العام تكتب الكود التالي: كود : Form2 frm2 = (Form2)Application.OpenForms["Form2"];ضمن حدث الـ (button1) عليك أن تكتب الكود التالي: كود : if (frm2 != null)بهذا تصبح النافذة الثانية مرتبطة بالمتغير (frm2) فأي أمر يوجه لها من خلاله يتم تنفيذه على كل أداة خاصية الرؤية فيها (Public) يتم تنفيذه مباشرة.. لو أردنا أن نكتب أي شيء في مربع النص الموجود على النافذة الثانية نعطيه الأمر : كود : frm2.textBox1.Text = "Hello...";فيصبح الكود الموجود على النافذة الأولى بالشكل التالي : كود : Form2 frm2 = (Form2)Application.OpenForms["Form2"];الزر الأول يربط النافذة الثانية إن كانت ظاهرة أو ينشئها من جديد ويربطها بالمتغير frm2 والزر الثاني يتحكم بالمدخلات في مربع النص الموجود على النافذة الثانية .. هذه الطريقة فيك تعممها على كل الأدوات في أي نافذة من نوافذ السي شارب .. والآن جاء دورك : لتساعد نفسك في مشروعك.. قال صلى الله عليه وسلم:
«كلمتان خفيفتان على اللسان
ثقيلتان في الميزان،حبيبتان إلى الرحمن:
سبحان الله وبحمده، سبحان الله العظيم».
اشكرك اخي الكريم taha علي المعلومة القيمة هذه واستفدت منها كثرا وسوف اجربها علي مشروع اخر ولكن في هذا المشروع يبدوا اني لم اوفق في شرح ما اريد حتي تتمكن من مساعدتي انا عندي فورم1 وفورم 2 كل واحد به به داتاجريد فيو مرتبطا ب ماي سيكوال اسمه data و به جدولين الاول اسمه product وده للفورم 1 والثاني اسمه warehouse وده للفورم الثاني وعند عمل select في الداتا جريد فيو فورم 1 يفتح فورم 3 وبه 4 او 5 text Box واحد لاسم المنتج والثاني للكميه وهكذا ويوجد 2 button واحد لاتمام التحويل من data product الي data warehouse وال button 2 للرجوع عن ارسال البيانات وهذا كل ما في الامر وارجوا يكون فيه طريقه لهذا ؟؟؟؟ !!!
07-01-26, 02:59 PM
(09-03-25, 08:49 AM)Elalfee كتب : اشكرك اخي الكريم taha علي المعلومة القيمة هذه واستفدت منها كثرا وسوف اجربها علي مشروع اخر ولكن في هذا المشروع يبدوا اني لم اوفق في شرح ما اريد حتي تتمكن من مساعدتي انا عندي فورم1 وفورم 2 كل واحد به به داتاجريد فيو مرتبطا ب ماي سيكوال اسمه data و به جدولين الاول اسمه product وده للفورم 1 والثاني اسمه warehouse وده للفورم الثاني وعند عمل select في الداتا جريد فيو فورم 1 يفتح فورم 3 وبه 4 او 5 text Box واحد لاسم المنتج والثاني للكميه وهكذا ويوجد 2 button واحد لاتمام التحويل من data product الي data warehouse وال button 2 للرجوع عن ارسال البيانات وهذا كل ما في الامر وارجوا يكون فيه طريقه لهذا ؟؟؟؟ !!! يمكنك ايضا استخدام البارمترات اثناء فتح النموذج هذا مثال لفتح فورم خاص بعرض فاتورة معينة البارمترات المعتمدة في البرنامج عددها اثنين الاول خاص بالسنة و الثاني برقم الفاتورة كود : public partial class FactForm : Formاما فتح النموذج الخاص بالفاتورة فيكون بالطريقة التالية كود : new FactForm(factNumber, year).Show();في مشروعك يجب استخدام 4 او 5 متغيرات لتمريرها الى الفورم الذي سيتم عرض المنتج عليه وطبعا يجب مراعاة انواع المتغيرات التي تحتاجها ( نصي او رقمي او غيره) اتمنى ان اكون قد وفقت في توصيل الفكرة
29-01-26, 03:13 AM
ضع كلاس جديد و عرف فيه متغيير من نوع ستاتك و استدعه من اي فورم و عبأه ما تريد و من ثم استدعه من فورم ثان في حدث اللود مثلا و حمل منه القيمة المعبئة او عرف خاصية ستاتك في كلاس و عبئها في الفوررم الأول و حمل منها القيمة المعبئة مثال :
كود تعريف المتغيير و كود تعريف خاصية جديدة : كود : namespace WindowsFormsApp1كود الفورم 1 تعبئة المتغيير و الخاصية الجديدة : كود : namespace WindowsFormsApp1كود تحمييل القيم المعبئة من اللمتغيير أو الخاصية الجديدة الى ليبل في الفورم الثان : كود : namespace WindowsFormsApp1تم الشكر بواسطة: salamandal , salamandal
|
|
|
يقوم بقرائة الموضوع:
