Forum Yeniden Load
-
Merhaba Arkadaşlar.
Birinci forumda runtime olarak oluşturmuş olduğum butonlar üzerinden ikinci foruma geçiyorum.
sonrasında ikinci forumda işlemin bittikten sonra yani 2. forum kapandıktan sonra birinci forumdaki butonların güncellenmesini istiyorum. yani button text ve forecolor özelliklerinin
forumload eventini tekrar çağırıyorum ama forum statik olarak kalıyor. herhangi bir değişiklik yok.
Nasıl yapabilirim.
-
Kodlar olmadan pek anlaşılmıyor.
https://stackoverflow.com/questions/16496906/how-to-call-load-event-in-button-click-event/16497087 ve https://stackoverflow.com/questions/35815682/call-form-load-event-in-another-function adreslerinde Form_Load(this,EventArgs.Empty) olarak çağrılmasını önermişler. Benim önerim ise form_load olayını başka bir metoda almanız.
-
YeniHarman bunu yazdı
Kodlar olmadan pek anlaşılmıyor.
https://stackoverflow.com/questions/16496906/how-to-call-load-event-in-button-click-event/16497087 ve https://stackoverflow.com/questions/35815682/call-form-load-event-in-another-function adreslerinde Form_Load(this,EventArgs.Empty) olarak çağrılmasını önermişler. Benim önerim ise form_load olayını başka bir metoda almanız.
cvp için teşekkür ederim. ancak oradaki örnekler işe yaramadı.
biraz daha konuyu açayım.
birinci forumda 10 adet buttonum var. bunlardan herhangi birine tıklayarak 2. foruma geçiyorum. 2. forumu kapattıktan sonra 1. forumdaki bütün buttonların text ve color gibi bir takım özelliklerinin güncellenmesini istiyorum.
-
İkinci formu modal olarak mı açıyorsunuz? Yani ikinci formun kapandığını nasıl anlayabiliriz? Şu yöntemi denediniz mi?
private void Form_Load(...)
{
FormuGuncelle();
}
private void FormuGuncelle()
{
// kozmetik işlemler
}
private void Button_Click(....)
{
var form2 = new Form2();
form2.ShowDialog(this);
FormuGuncelle();
}
-
Şu yöntem daha güzel:
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void FormuGuncelle() { var rnd = new Random(); textBox1.Text = "güncellendi " + rnd.Next().ToString(); button1.BackColor = Color.FromArgb(rnd.Next(256), rnd.Next(256), rnd.Next(256)); button2.BackColor = Color.FromArgb(rnd.Next(256), rnd.Next(256), rnd.Next(256)); } private void button1_Click(object sender, EventArgs e) { var form2 = new Form2(); form2.FormClosed += Form2_FormClosed; form2.Show(); } private void Form2_FormClosed(object sender, FormClosedEventArgs e) { FormuGuncelle(); } private void Form1_Load(object sender, EventArgs e) { FormuGuncelle(); } }
-
Son örneği hem anlamadım. hemde işime yaramadı. :S
-
Ben pes ettim bilal. Biri ucundan tutar herhalde.
-
sakin kafayda tekrar baktım kodlara yaptım :)
teşekkür ederim
-
form activite özelliğini kullan