C# WinForms UC Sayfasından Başka Sayfada İşlem Yapma

TheErdem

Hectopat
Katılım
6 Kasım 2020
Mesajlar
346
Çözümler
3
Daha fazla  
Cinsiyet
Erkek
Merhaba, C# WinForms kullanarak bir yazılım geliştiriyorum. Bu yazılımda oluşturduğum bir UserControl içindeki bir elemanla etkileşime geçtiğimde başka bir UserControl veya Formdaki elemanların özelliklerini değiştirmek istiyorum.

Örnek:
UserControl1 sayfasında bir butona basacağım ve UserControl2 sayfasının arka plan rengi değişecek.

Yardım ederseniz sevinirim, internetteki kaynakları hiç anlayamadım.
@300319 Hocam belki siz bilirsiniz.
 
Constructor isimli konuyu araştırabilirsin dostum.

2. sayfanın constructor metoduna parametre alması gerektiğini söyleyip, 1. sayfadan çağırdığın kod bloğunda parametreleri göndermen yeterli.
 
Farklı olarak tanımlamış olduğunuz UserControl'a nesne olarak bir şekilde erişim sağlamanız gerekiyor.
Misal hiyerarşi aşağıdaki gibiyse;

<Page>
<Grid>
<UserControl x:Name="userControl1"/>
<UserControl x:Name="userControl2"/>
</Grid>
</Page>

userControl1 içerisindeki butona basıldığında;

Frame rootFrame = (Frame)Window.Current.Content; // Windows pencere çerçevesine erişildi.
MainPage mainPage = (MainPage)rootFrame.Content; // Çerçeve içerisindeki sayfaya erişildi.
UserControl userControl2 = (UserControl)mainPage.FindName("userControl2");
if (userControl2 != null) {
// UserControl2 içerisinde değiştirilecek özellikler...
usercontrol2.Background = Colors.Transparent; // gibi
}

Yani sizin mantıken Constructor ile bir işinizin olmaması gerekiyor.
 

Technopat Haberler

Geri
Yukarı