البرمجة

نقل قيم المتغيرات في C#

للقيام بذلك في C#، يمكنك استخدام الطرق المختلفة لتمرير قيم المتغيرات بين الأساليب. في الحالة التي وضعتها، تريد استخدام قيم المتغيرات h و w من طريقة button1_Click في طريقة button2_Click.

أولاً، دعونا نفهم كيفية عمل هذه العملية. عندما تقوم بإنشاء المتغيرات h و w داخل طريقة button1_Click، فإنها تصبح محلية لهذه الطريقة فقط. وبمجرد انتهاء تنفيذ الطريقة، تتم تدمير هذه المتغيرات ولا يمكن الوصول إليها من أي طريقة أخرى.

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

في الكود الذي قدمته، لديك الفئة Form1، ويمكنك تعريف المتغيرات h و w كأعضاء في هذه الفئة بدلاً من تعريفها كمتغيرات محلية داخل طريقة button1_Click. للقيام بذلك، قم بتعريف المتغيرات h و w بشكل مباشر كمتغيرات عضوية في الفئة Form1. سيكون ذلك كالتالي:

csharp
public int h, w; public Form1() { InitializeComponent(); textBox1.Text = "Image Path here ..."; } public void button1_Click(object sender, EventArgs e) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Title = "Select an Image"; dlg.Filter = "jpg files (*.jpg)|*.jpg"; if (DialogResult.OK == dlg.ShowDialog()) { this.pictureBox1.Image = new Bitmap(dlg.FileName); Bitmap img = new Bitmap(dlg.FileName); w = img.Width; // استخدم هنا الـ w بدلاً من إعادة تعريفها كمتغير محلي h = img.Height; // استخدم هنا الـ h بدلاً من إعادة تعريفها كمتغير محلي pictureBox1.Height = h; pictureBox1.Width = w; textBox1.Text = dlg.FileName; } } public void button2_Click(object sender, EventArgs e) { MessageBox.Show("Height is- " + h.ToString() + " Width is- " + w.ToString(), "Height & Width"); }

بهذه الطريقة، بمجرد أن يتم تعيين قيم للمتغيرات h و w داخل طريقة button1_Click، يمكن الآن الوصول إليها واستخدامها داخل طريقة button2_Click دون الحاجة إلى إعادة تعريفها.

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

بالطبع، يمكنني توفير المزيد من المعلومات حول كيفية استخدام قيم المتغيرات بين الأساليب في C#.

في الوقت الحالي، لدينا متغيرات h و w التي تم تعريفها كمتغيرات عضوية في الفئة Form1. ومن خلال ذلك، يمكن الوصول إليها واستخدامها من أي طريقة داخل هذه الفئة.

ما يجب مراعاته هو أنه في الشفرة التي قدمتها، حينما قمت بتعريف المتغيرات h و w كمتغيرات عضوية، استخدمت الكلمة الأساسية “public”. هذا يعني أن هذه المتغيرات يمكن الوصول إليها من أي فئة أخرى في البرنامج أيضًا، ليس فقط من داخل فئة Form1.

لذا، إذا كان لديك أي طريقة أخرى خارج فئة Form1 وتريد استخدام قيم h و w، يمكنك فعل ذلك بالنسبة لكائن Form1. على سبيل المثال، إذا كان لديك كائن Form1 يسمى “form”، يمكنك الوصول إلى قيم h و w كما يلي:

csharp
int height = form.h; int width = form.w;

وهكذا يمكنك استخدام القيم من متغيرات العضوية في أي مكان يمكن الوصول إليه إلى كائن فئة Form1.

إذا كنت بحاجة إلى مزيد من المعلومات حول كيفية استخدام المتغيرات ونقل البيانات بين الطرق والفئات في C#، فلا تتردد في طرح أي استفسارات إضافية.

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