在初学者写窗体程序的时候,会常遇到窗体传值的问题困扰,比如说我实例化了需要用到的窗体,我就可以取到窗体当中的控件进行传值,这样是传值不过来的 接下来有两种方法给大家整理如下:

跨窗体传值系列之Winform跨窗体传值系列之Winform

在这里我用vs创建了两个窗体,一个Form1,一个Form2。窗体Form1里面创建了一个文本框TextboBox和一个Button按钮,

窗体Form2里只创建了一个label用来接收从Form1文本框传过来的值,我点击Form1的按钮显示Form2的窗体来看看传值的效果(我相信大家应该都会)。

设置Form1里的TextboBox的Modifiers的值为公共的(public),这样才方便我们在窗体Form2当中调用 这里大家注意一下,你要调用哪个控件上面的值就必须把Modifiers设置为public,否则调用不了。话不多说  上传值代码。

方法一:在Form1里的button点击事件里面写 Form2 fm = new Form2();
            fm.Owner = this;//定义此窗体为当前窗体
            fm.ShowDialog();

在Form2的load事件里写 label1.Text=(Owner as Form1).textboBox1.Text;//label的值为Form1的TextboBox的值

因为设置了TextboBox的Modifiers为公共的,所以可以调用;我们来看看传值的效果(如图):

跨窗体传值系列之Winform

方法二:通过中间值传值。同样以上述两个窗体为例,在解决方案新建一个class1.cs如图:跨窗体传值系列之Winform

新建一个中间值 static string str=“”;

在Form1里的button单击事件中写 Form2 fm = new Form2();
            Class1.str = textBox1.Text;//先把文本框的值传入到类里的变量(中间值)
            fm.ShowDialog();

在Form2中的load加载界面写   label1.Text = Class1.str;

我们来看看测试的结果(如图):跨窗体传值系列之Winform

相关文章:

  • 2021-11-28
  • 2021-10-02
  • 2021-04-11
  • 2021-08-26
  • 2021-10-08
  • 2022-02-23
猜你喜欢
  • 2022-01-12
  • 2022-01-09
  • 2022-12-23
  • 2021-07-04
  • 2021-12-19
  • 2022-12-23
相关资源
相似解决方案