منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
التحكم بادوات usercontrol1 من خلال usercontrol2 - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175)
+--- قسم : قسم اسئلة C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=176)
+--- الموضوع : التحكم بادوات usercontrol1 من خلال usercontrol2 (/showthread.php?tid=37998)



التحكم بادوات usercontrol1 من خلال usercontrol2 - رسول555 - 12-03-21

السلام عليكم ورحمة الله وبركاته
اخوتي الاعزاء لدي مشكلة وهي عند استخدام الكود 
كود :
sales ss = new sales();
  ss.panel1.Visible = false;
لكي اقوم باخفاء البنل الموجود في usercontrol1  من خلال بوتون موجود في usercontrol2 علما انه public  panel1  
كما اني حاول عمل اني حاول محاولة اخرى ولم تنجح وهي
كود :
public void toolStripClick(object sender, EventArgs e)
       {
           panel1.Visible = false;
       }

وضعته في ال usercontrol1 
ووضعت الزر في usercontrol2
كود :
sales ss = new sales();

           ss.Click += new EventHandler(ss.toolStripClick);
وايضا لم ينجح ارجو المساعدة


RE: التحكم بادوات usercontrol1 من خلال usercontrol2 - asemshahen5 - 13-03-21

إضافة خصائص و أحداث للادوات .


RE: التحكم بادوات usercontrol1 من خلال usercontrol2 - رسول555 - 17-03-21

شكرا لك اخي العزيز لكن انا محتاج المثال على نموذج سي شارب


مع الشكر Heart Heart



RE: التحكم بادوات usercontrol1 من خلال usercontrol2 - asemshahen5 - 17-03-21

مثال عن إضافة خصائص و أحداث للادوات .


RE: التحكم بادوات usercontrol1 من خلال usercontrol2 - رسول555 - 10-04-21

السلام عليكم

بارك الله بجهودك انا استخدم مشروع فيه يوزر كنترول ووضع فيه بنل لكي احمل فيه يوزركنترول فرعي لكن لم يعمل معي ولا اعرف السبب 
علما اني لم اضع يوزر كونترول في الفورم انما استخدمت البنل لتحميل اليوزر كنترول
ولم يعمل معي اي حدث من الاحداث
 التيكست او اخفاء البنل او حدث الزر
مع الشكر
كود :
sales ss = new sales();
ss.account_mineTX = false;


كود :
 panel1.Visible = true;
                   //this.Parent.Controls.Remove(this);
                   this.panel1.Controls.Clear();
                   this.panel1.Controls.Add(AA);



RE: التحكم بادوات usercontrol1 من خلال usercontrol2 - رسول555 - 14-04-21

(10-04-21, 12:06 PM)رسول555 كتب : السلام عليكم

بارك الله بجهودك انا استخدم مشروع فيه يوزر كنترول ووضع فيه بنل لكي احمل فيه يوزركنترول فرعي لكن لم يعمل معي ولا اعرف السبب 
علما اني لم اضع يوزر كونترول في الفورم انما استخدمت البنل لتحميل اليوزر كنترول
ولم يعمل معي اي حدث من الاحداث
 التيكست او اخفاء البنل او حدث الزر
مع الشكر
كود :
sales ss = new sales();
ss.account_mineTX = false;


كود :
 panel1.Visible = true;
                   //this.Parent.Controls.Remove(this);
                   this.panel1.Controls.Clear();
                   this.panel1.Controls.Add(AA);



؟؟؟؟؟؟؟؟؟؟؟؟


RE: التحكم بادوات usercontrol1 من خلال usercontrol2 - asemshahen5 - 15-04-21

ضع مثال به شرح ما تريد ليتم التعديل عليه باذن الله تعالى .


RE: التحكم بادوات usercontrol1 من خلال usercontrol2 - Eng27 - 16-04-21

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

لماذا لا تجرب أن تنشئ طريقة Method تقوم بذلك؟


RE: التحكم بادوات usercontrol1 من خلال usercontrol2 - Anas Mahmoud - 16-04-21

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

حسب ما فهمت انك تريد ان تتحكم في كونترول من خلال كونترول اخر 

هناك نقطة محورية يجب معرفتها هنا ، انه انت من يحدد لكل كنترول ما يمكنه فعله ، لذلك لايجب ابدا تعريف البانل داخل الكنترول او الزر داخل الكنترول الاخر على انه public ! انت تخالف مبدأ ال Encapsulation بذلك ، الاصح ان تبقيهم private كما هم ، وان تقوم بتعريف methods و events لفعل ما تريد بالقدر المناسب وفقط ،


في الكونترول الذي يحتوي على الزر تحتاج لتعريف event عند الضغط على الزر ، وان يكون public ليمكننا الرصول اليه ، وان تقوم باطلاقه عند الضغظ على الزر : 

كود :
      public event EventHandler BtnClicked;

       private void btnHide_Click(object sender, EventArgs e)
       {
           BtnClicked?.Invoke(this, EventArgs.Empty);
       }


في الكنترول اللذي به بانل نحتاج لتعريف void تقوم باخفاء البانل لنا : 

كود :
       public void HideThePanel()
       {
           panel1.Hide();
       }

فقط !

الان في المكان اللي تضع فيه هاتان الاداتان تحتاج فقط ان تنادي ال method في ال event

كود :
       private void controlWithButton1_BtnClicked(object sender, EventArgs e)
       {
           controlWithPanel1.HideThePanel();
       }

[attachment=26627]
[attachment=26628]

المثال في المرفقات :


RE: التحكم بادوات usercontrol1 من خلال usercontrol2 - رسول555 - 01-05-21

بارك الله بجهودكم المباركة وجعله في ميزان حسناتكم