当前位置:编程学习 > C#/ASP.NET >>

c#中如何把a窗体中变量的值传递给b窗体

我现在有两个窗体a和b,我想把a窗体中的一个变量值传递给b窗体,我在a窗体中把变量定义成public,到时当b窗体显示的时候老是获取到一个空字符串,请求帮助。 --------------------编程问答-------------------- winform间传值
public partial class Form1 : Form
  {
  private void button1_Click(object sender, EventArgs e)
  {
  Form2 frm2 = new Form2();
  frm2.Show(this);
  }
  }

  public partial class Form2 : Form
  {
  private void button1_Click(object sender, EventArgs e)
  {
  Form1 frm1 = (Form1)this.Owner;
  ((TextBox)frm1.Controls["textBox1"]).Text = this.textBox2.Text;
  this.Close();
  }
  }
还可使用委托 --------------------编程问答-------------------- 获取方法:Application.OpenForms["窗体a实例的name值"].变量名 --------------------编程问答-------------------- 1.在B中定义一个public变量,A中直接赋值
2.在A中定义一个public变量,在A中设置B.owner=this后B中直接((A的类型)(this.owner)).xx访问
3.想传递一系列变量,个数很多,可以直接定义一个class,然后序列化后传递到B,然后B中反序列化
4.楼下接着..... --------------------编程问答-------------------- 子窗体传值给父窗体  控件属性设置 Modifiers  为 public
//第一窗体
        private void tbtnOutTrack_Click(object sender, EventArgs e)
        {
            FormSubbillSend frms = new FormSubbillSend();
            if (frms.ShowDialog() == DialogResult.OK)
            {
              frms.第二窗体控件  操作值...       
            }
               
      }

//第二窗体
 //确定  FormSubbillSend  点击事件
        private void tbtn_Send_Click(object sender, EventArgs e)
        {
          this.DialogResult = DialogResult.OK;

        }
  --------------------编程问答-------------------- Form1中代码
Form2 fm=new Form2();
string a="haha";
fm.Tag=a;
fm.show();

Form2中代码
if(this.Tag!=null)
{
 string b=(string)this.Tag;
}

补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,