RT,A页面有一个combobox和一个按钮,点击按钮,弹出B页面,B页面对A页面的combobox添加项,添加成功,要在B页面调用A页面的事件,对combobox的项重新加载,分不多求指教

解决方案 »

  1.   

    应该就是窗体间传递参数了,你可以把B页面的构造函数改成
            Form1 form1;
            public Form2(Form1 form1)
            {
                InitializeComponent();
                this.form1 = form1;
            }把A窗体传过去,那B窗体怎么操作A窗体上的控件和方法都可以
      

  2.   

    我之前试过不行,不能重新加载combobox
      

  3.   

    先清空,再赋值
    this.combobox.Items.Clear();
    this.combobox.SelectedIndex=0;
      

  4.   

    不好回答你的问题。环境不太清晰。
    你这是webform还是winform??另外你自己本身不能成功的代码又是什么?
      

  5.   

    应该是winform,webform做不到的。
    1楼正解,但是有一点,你的combobox必须是public的,要不然在其他页面访问不到
      

  6.   

    干嘛弄两个页面,看你描述用dialog就可以解决嘛,页面内处理多简单楼主可以看看jquery的dialog控件
      

  7.   

    在A页面定义一个集合变量(存储要绑定的数据),B页面往A页面添加值,首先对combobox数据做一个校验,看是否添加重复项,然后清空combobox.Items.Clear(),之后从新给combobox绑定集合变量
      

  8.   

    把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也就跟着改变了。
      

  9.   

    以解决 ..
    A页面按钮事件
    FrmUnitType frmUnitType = new FrmUnitType();
    DialogResult dresult = frmUnitType.ShowDialog();
    if (dresult == DialogResult.OK)
    {
        FrmUnitInfor_Load(sender, EventArgs.Empty);
    }
    B页面添加成功后
    this.DialogResult = DialogResult.OK;