C# 本页面调用其他页面的事件
RT,A页面有一个combobox和一个按钮,点击按钮,弹出B页面,B页面对A页面的combobox添加项,添加成功,要在B页面调用A页面的事件,对combobox的项重新加载,分不多求指教
------解决方案--------------------应该就是窗体间传递参数了,你可以把B页面的构造函数改成
Form1 form1;
public Form2(Form1 form1)
{
InitializeComponent();
this.form1 = form1;
}
把A窗体传过去,那B窗体怎么操作A窗体上的控件和方法都可以
------解决方案--------------------不好回答你的问题。环境不太清晰。
你这是webform还是winform??另外你自己本身不能成功的代码又是什么?
------解决方案--------------------应该是winform,webform做不到的。
1楼正解,但是有一点,你的combobox必须是public的,要不然在其他页面访问不到
------解决方案--------------------干嘛弄两个页面,看你描述用dialog就可以解决嘛,页面内处理多简单
楼主可以看看jquery的dialog控件
------解决方案--------------------在A页面定义一个集合变量(存储要绑定的数据),B页面往A页面添加值,首先对combobox数据做一个校验,看是否添加重复项,然后清空combobox.Items.Clear(),之后从新给combobox绑定集合变量
------解决方案--------------------把B页面的构造参数里加上
private System.Windows.Forms.ComboBox combx;
public Form2(System.Windows.Forms.ComboBox combox1)
{
InitializeComponent();
combx = combox1;
}
A页面点击按钮的时候new一个B页面然后将combox传递过去
private void button1_Click(object sender, EventArgs e)
{
Form f2 = new Form2(comboBox1);
f2.ShowDialog();
}
然后就可以在B页面的事件里面对传递过来的combox进行修改了,B中操作combox的代码
private void button1_Click(object sender, EventArgs e)
{
combx.Items.Add(textBox1.Text);
this.Close();
}
A页面中的combox也就跟着改变了。
------解决方案--------------------你写成方法不行么