ScannerInput
developr01
采纳率66.7%
2017-08-02 05:07 浏览 1.4k

C#应用程序窗体传递数据

求大神指点!
在C#应用程序窗体中,有窗体Form1与窗体Form2,
想将Form1窗体中TextBox传递到Form2的变量userId中,
并且Form2窗体不会弹出来。
求大神指点!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答 默认 最新

  • 已采纳
    qq_28249373 shifenglv 2017-08-02 06:30

    主要有三种方法吧:第一,参数传递,修改Form2的构造函数,使其能够传递TextBox:

    在Form2中:

                    TextBoX userid;
            public Form1(TextBox texbox)
            {
                InitializeComponent();
                            userid=textbox;
            }
    

    Form1中:

    
     Form2 fm2=new Form2(textBox1);
    
    

    第二、全局变量法。创建一个TextBox类型的全局变量tb,然后将Form1中的Textbox赋给tb,在Form2中就可以引用全局变量tb。
    添加一个新的类,类的名称自己取,加上引用空间:using System.Windows.Forms ;在类中写上TextBox tb;就可以定义一个全局的变量tb了;

    第三、静态变量。在Form2中将usrid声明为静态的变量,那么在Form1中就可以引用它。

    Form2中:

     public static TextBox userid;
    

    Form1中引用:

     Form2.userid=textbox1;
    
    点赞 1 评论 复制链接分享
  • qq_23126581 郭老师的小迷弟雅思莫了 2017-08-02 05:57

    可以用委托,也可以将Form1中 的textBox 属性设为 public,这样就是可以通用了,在form1的designer里改属性。

    点赞 评论 复制链接分享

相关推荐