En iyi yanıtlayıcılar
2 FORM ARASI İLETİŞİM

Soru
-
Selam arkadaşlar,
1.Formumun IsMdiContainer özelliği TRUE ve hali hazırda disable olan menustripe sahip. 2.form child form olarak 1.formun loadına tanımlı program çalıştığı zaman 1.formun içinde 2.form açılıyor. 2.formdan kullanıcı girişi yapıldığı zaman 1.formun üzerindeki menustrip nesnesinin enable olmasını istiyorum. Modifiers özelliğini public yapmama rağmen göremiyorum ne yapmam gerekiyor. Teşekkürler
Yanıtlar
-
Ana form mdiparent ise alt formdan MdiParent özelliğini kullanarak ulaşabilirsiniz. Onun haricinde Parent özelliğini kullanabilirsin.
Yani MdiParent Form Form1 ise
Form3 f3 = new Form3() f3.MdiParent = this; //this = Form1
şeklinde oluşturduğun bir varsa Form3 ten Form1 e ulaşmak için
MdiParent.Controls .OfType<Label>() .Where(x=> x.Name== "label1") .First() .Text = "klşkl";
gibi bir yöntem kullanabilirsin.
- Yanıt Olarak İşaretleyen Serkan Canseven 29 Ekim 2015 Perşembe 15:37
-
Deleted
- Yanıt Olarak İşaretleyen Serkan Canseven 29 Ekim 2015 Perşembe 15:37
-
Application.OpenForms["Form1"].Controls["menuStrip"].Enabled = true;
Bende uğraşırken bu şekilde yaptım teşekkür ediyorum ilgine.
- Yanıt Olarak İşaretleyen Serkan Canseven 29 Ekim 2015 Perşembe 15:37
Tüm Yanıtlar
-
Deleted
- Yanıt Olarak İşaretleyen Serkan Canseven 29 Ekim 2015 Perşembe 15:37
-
Application.OpenForms["Form1"].Controls["menuStrip"].Enabled = true;
Bende uğraşırken bu şekilde yaptım teşekkür ediyorum ilgine.
- Yanıt Olarak İşaretleyen Serkan Canseven 29 Ekim 2015 Perşembe 15:37
-
Ana form mdiparent ise alt formdan MdiParent özelliğini kullanarak ulaşabilirsiniz. Onun haricinde Parent özelliğini kullanabilirsin.
Yani MdiParent Form Form1 ise
Form3 f3 = new Form3() f3.MdiParent = this; //this = Form1
şeklinde oluşturduğun bir varsa Form3 ten Form1 e ulaşmak için
MdiParent.Controls .OfType<Label>() .Where(x=> x.Name== "label1") .First() .Text = "klşkl";
gibi bir yöntem kullanabilirsin.
- Yanıt Olarak İşaretleyen Serkan Canseven 29 Ekim 2015 Perşembe 15:37
-
Statik bir değişken ile çok daha basit olacaktır bence..
Diğer türlü tüm kullanacağınız yerlerden (child form1, child form2 vs.) her seferinde OpenForms diye formu bulucaksınız cast olacak falan filan hiç gerek yok..
//frmMain public partial class frmMain : Form { internal static ContextMenuStrip MainMenuStrip; public frmMain() { InitializeComponent(); frmMain.MainMenuStrip = this.contextMenuStrip1; } } //frmChild 1 public partial class frmClidForm1 : Form { public frmChildForm1() { this.btnMyButton.Click += (o,e)=> { //Bir takım işler frmMain.MainMenuStrip.Enabled = false; } } } //frmChild 2 public partial class frmClidForm2 : Form { public frmChildForm2() { this.btnMyButton2.Click += (o,e)=> { //Bir takım işler frmMain.MainMenuStrip.Enabled = false; } } }
- Düzenleyen Oğuz KURTCUOĞLU 30 Ekim 2015 Cuma 07:28