c# - how can i control listview located in form1 from form2 to refresh it -
i want refresh listview1 located in form1
. created code fires public void refresh or make listview1.visible = false;
nothing works except messagebox.show("test");
how make work?
public void refeshlistview() { this.listview1.beginupdate(); messagebox.show("s");//this shows! only:\ !?!?!? listview1.visible = false; listview1.height = 222; listview1.endupdate(); listview2.clear(); }
i little unclear trying do, title sounds want influence listview
on form1 form2. assuming form2 created form1. in case have 2 ways can think of this, first create custom constructor , pass form instance or assign ownership when show form. second create custom event on form2 , subscribe in form1.
the first method:
in form1 when show form2 use frm2.show(this);
in form2 when want call refresh method use ((form1)parent).refreshlistview();
or create custom constructor form2
form1
public partial class form1 : form { form2 frm2; public form1() { initializecomponent(); frm2 = new form2(this); frm2.show(); } void frm2_refreshlist(object sender, eventargs e) { refreshlistview(); } public void refreshlistview() { this.listview1.beginupdate(); messagebox.show("s");//this shows! only:\ !?!?!? listview1.visible = false; listview1.height = 222; listview1.endupdate(); listview1.clear(); } }
form2
public partial class form2 : form { form1 frm1; public form2() { initializecomponent(); } public form2( form frm) { initializecomponent(); frm1 = (form1)frm; } private void button1_click(object sender, eventargs e) { frm1.refreshlistview(); } }
the second method:
form1
public partial class form1 : form { form2 frm2; public form1() { initializecomponent(); frm2 = new form2(); frm2.refreshlist += new eventhandler(frm2_refreshlist); frm2.show(); } void frm2_refreshlist(object sender, eventargs e) { refreshlistview(); } public void refreshlistview() { this.listview1.beginupdate(); messagebox.show("s");//this shows! only:\ !?!?!? listview1.visible = false; listview1.height = 222; listview1.endupdate(); listview1.clear(); } }
form2
public partial class form2 : form { public event eventhandler refreshlist; public form2() { initializecomponent(); } private void button1_click(object sender, eventargs e) { refreshlist(this, eventargs.empty); } }
Comments
Post a Comment