البرمجة

نقل قيمة الخلية من DataGridView إلى TextBox

لنفترض أن لديك نموذجين، النموذج الأول يحتوي على مربع نص ومربع صورة، والنموذج الثاني يحتوي على DataGridView. تريد عرض قيمة الخلية التي تم النقر عليها في DataGridView في مربع النص في النموذج الأول بدون الحاجة إلى إنشاء كائن للنموذج الأول في النموذج الثاني. يمكن القيام بذلك عن طريق إرسال القيمة المحددة عبر حدث معين في النموذج الثاني، ثم استقبال هذه القيمة في النموذج الأول.

في النموذج الأول، يجب عليك إنشاء دالة (مثلاً UpdateTextBoxValue) التي تستقبل القيمة وتقوم بتحديث مربع النص. هذه الدالة يجب أن تكون عامة وستستخدم لتحديث مربع النص من النموذج الثاني.

في النموذج الثاني، عندما يتم النقر على خلية في DataGridView، ستقوم بإرسال القيمة الحالية إلى النموذج الأول. يمكنك فعل ذلك عبر استدعاء الدالة UpdateTextBoxValue في النموذج الأول وتمرير القيمة الحالية.

المثال التالي يوضح كيفية تنفيذ هذا النمط من التبادل بين النموذجين:

csharp
// في النموذج الأول public partial class Form1 : Form { public Form1() { InitializeComponent(); } public void UpdateTextBoxValue(string value) { textBox1.Text = value; } private void pictureBox1_Click(object sender, EventArgs e) { Form2 form2 = new Form2(); form2.Owner = this; form2.Show(); } } // في النموذج الثاني public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0 && e.ColumnIndex >= 0) { DataGridViewCell cell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex]; string cellValue = cell.Value.ToString(); if (Owner is Form1 form1) { form1.UpdateTextBoxValue(cellValue); } } } }

في هذا المثال، عند النقر على خلية في DataGridView في النموذج الثاني، يتم استدعاء الدالة UpdateTextBoxValue في النموذج الأول لتحديث قيمة مربع النص.

المزيد من المعلومات

بالتأكيد! في الشرح السابق، قمت بتقديم مثال يوضح كيفية تحديث قيمة مربع نص في النموذج الأول عندما يتم النقر على خلية في DataGridView في النموذج الثاني. هذا يعتمد على استخدام خاصية Owner للنموذج الثاني للوصول إلى النموذج الأول دون الحاجة إلى إنشاء كائن منه.

من الجدير بالذكر أنه يجب التأكد من تعيين خصائص Modifiers لكل عنصر بشكل مناسب. على سبيل المثال، يجب ضبط خاصية Modifiers للمربع النصي والصورة في النموذج الأول على public لضمان إمكانية الوصول إليهما من النموذج الثاني.

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

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر