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

VS中窗体数据传递的问题

在form1里有一个按钮和一个datagridview,我把datagridview绑定到数据库里的T1表。现在我想点form1的按钮的时候弹出一个窗口form2,form2有很多textbox接受用户输入的数据,然后把这些数据作为T1的一条记录,返回到数据库的T1里,并且在form1里datagridview里显示新增出来这一条记录。该怎么办?
如果把form2里的textbox不放到form2中,放到form1中,就很容易实现,上述功能,因为他们在同一个窗口中。现在出现两个窗口怎么传递数据呢? --------------------编程问答-------------------- 在Form2里面提供一个公开函数,当form2关闭的时候,调用该方法把数据取回即可 --------------------编程问答-------------------- 第一种 委托,这个问题我已经回答不下3次了,论坛里面也总结过,我粗略的写一个。
    public Delegate void  Reload(string content);
     public class A:form 主窗体
      {
        ...........
        B b=new B();
        b.ReloadEvent+=(sender)=>{this.textbox1.text=sender as string;};
       }

     public class B:form  弹出窗体 
      {
          public event Reload ReloadEvent;
          ..................
          button.click +=(sender,args)=>
{
   if(ReloadEvent!=null)
       ReloadEvent(textbox2.text.trim());// 这里就代表该事件执行了。
};
       }

第二个,构造函数;
         public class A:form 主窗体
      {
        private string content;
        B b=new B(content);
        if(b.showdilog()==dilogresult.ok)
          {
this.textbox1.text=b.Content;
     } 
             
 }

     public class B:form  弹出窗体 
      {
          private string  content;
          public string Content(get return content;)
          public B(string _content)
           {content=_content;}
          ..................
        btnOK.DialogResult = System.Windows.Forms.DialogResult.OK;
        B.FormClosing +=(sender,args)=>
{         
if (DialogResult == DialogResult.OK)
           content=textbox2.text.trim();};
       }
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,