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

كيف نسوي تحديث للشاشة الأساسية المفتوحة بعد تغيير السيتينق من خلال زر في نفس الشاشة يفتح على فورم تانية؟؟

بدأه نقطة بداية في 18 ديسمبر 2010 · 4 رد · 542 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

عندي فورمين : واحدة أساسية

والتانية تنفتح لما أضغط زر في الفورم الأساسية

في الفورم التانية: عندي radio buttons

والمفروض لما أختار واحدة منهم وأضغط أوكِ يصير التالي:

تنقفل الفورم التانية وتبقى الفورم الأساسية مفتوحة

والأهم المفروض أيضاً يتعمل تحديث للفورم الأساسية حسب اللي تم اختياره

مثلا لو كان الاختيار الأول يعمل إخفاء ل picturebox في الفورم الأساسية

مفروض يتعمل تحديث وتختفي هذه ال picture box

ولو الاختيار التاني تعمل إخفاء لكومبوننت آخر المفروض يتعمل تحديث برضو للفورم الأساسية ويختفي الكومبوننت هذا

المشكلة عندي في الفورم التانية ماأقدر أنادي الpicture box أو أي كومبوننت في الديزايزن تبع الفورم الأساسية

وكمان لعمل تحديث للفورم جربت Refresh و Invalidat تتحدث الفورم بس ما تصير التغييرات اللي أبغاها

ممكن تدلوني على طريقة أنادي بها الكومبوننت اللي في الفورم الساسية (أناديه في الفورم التانية و وأغير خصائصها أخليها مثلا picturebox1.visible =false)

وبعد كذا يتعمل تحديث للفورم الأساسيو وتختفي الكومبوننت ؟؟؟؟

وجُزيتم خيراً....

#2

عزيزي

قم بتغيير كلمة private الى public في الفورم الاساسية للكنترول الذي ترغب الوصول اليه

ستجد هذا في ملف designer.cs الخاص بالفورم

#3

آآه....حسناً

شكراً جزيلاً

لم أتعامل مع ملفات الديزاينر فقط كنت أراها

وأحذف حاجات

سويت مثلما ذكرت يضبط

لكن ما يحدث التغيير إلا لو فتحت الفورم مرة تانية

يعني قصدي مو على نفس الفورم المفتوحة

اللي ابغاه نفس الفورم المفتوحة يتعمل لها ريفريش بالسيتنق الجديد

#4

مرحبا بالجميع ،

عند فتح الفورم التي ستقوم بالتعديل من خلالها يجب ان تعطيها reference للفورم الاساسية ، دعنا نشرحها بمثال ، عندي Form1 عليها checkBox1 واريد ان اعمل Check/Ucheck له من خلال Form2

الخطوة الاولى : قم بتغيير private ل public لمربع الاختيار checkBox1

الخطوة الثانية : قم بتغيير ال constructor في Form2 ليصبح كالتالي

 protected Form1 mainForm;
        public Form2(Form1 mainForm1)
        {
            this.mainForm = mainForm1;
            InitializeComponent();
        }

حيث mainForm هو متغير يشير الى Form1

الخطوة الثالثة: قم بعمل زر امر على Form1 وقم بكتابة الكود التالي في حدث click الخاص به

  private void button1_Click(object sender, EventArgs e)
        {
            Form2 frm2 = new Form2(this);
            frm2.Show();
        }

وهنا نقوم بارسال المؤشر this ويشير الى Form1

الخطوة الرابعة: قم باضافة زر امر على Form 2 واكتب الكود التالي في حدث click الخاص به

private void button1_Click_1(object sender, EventArgs e)
        {
            mainForm.checkBox1.Checked = !mainForm.checkBox1.Checked ;
        }

وهي تعمل check/uncheck لل checkBox1 مباشرة دون اعادة تحميل Form1

مرفق الكود WindowsFormsApplication1.rar

دعواتي لك بالتوفيق والنجاح

#5

OsamaHosamEldeen

جزاك الله خيراً على التوضيح

بالمثال

وصلت الفكرة ونجحت ولله الحمد

:)

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

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

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

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

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