السلام عليكم ورحمة الله وبركاته
اخوتي الاعزاء لدي مشكلة وهي عند استخدام الكود
كود :
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);
وايضا لم ينجح ارجو المساعدة
شكرا لك اخي العزيز لكن انا محتاج المثال على نموذج سي شارب
مع الشكر
السلام عليكم
بارك الله بجهودك انا استخدم مشروع فيه يوزر كنترول ووضع فيه بنل لكي احمل فيه يوزركنترول فرعي لكن لم يعمل معي ولا اعرف السبب
علما اني لم اضع يوزر كونترول في الفورم انما استخدمت البنل لتحميل اليوزر كنترول
ولم يعمل معي اي حدث من الاحداث
التيكست او اخفاء البنل او حدث الزر
مع الشكر
كود :
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);
ضع مثال به شرح ما تريد ليتم التعديل عليه باذن الله تعالى .
وعليكم السلام ورحمة الله وبركاته
لماذا لا تجرب أن تنشئ طريقة Method تقوم بذلك؟
السلام عليكم ورحمة الله وبركاته
حسب ما فهمت انك تريد ان تتحكم في كونترول من خلال كونترول اخر
هناك نقطة محورية يجب معرفتها هنا ، انه انت من يحدد لكل كنترول ما يمكنه فعله ، لذلك لايجب ابدا تعريف البانل داخل الكنترول او الزر داخل الكنترول الاخر على انه 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]
المثال في المرفقات :
بارك الله بجهودكم المباركة وجعله في ميزان حسناتكم