1、首先小编这里创建一个简单的winform桌面程序,系统会自动创建一个窗口,我们把这个窗口作为主窗口也就是Form1,要实现的功能是点击【接收子窗口传值】按钮之后,弹出子窗口,然后在子窗口中设置值之后再传值回到主窗口中,如下图:
2、接下来来看Form1的后台代码,代码中的主要部分就是按钮点击事件部分,这里就是说点击这个按钮之后,弹出Form2,然后再根据创建的Form2实例来看Form2的Tag属性是否为空,如果不为空的话,赋值给主窗口的TextBox,如下图:
3、接下来下面的是子窗口的视图设计,这里有一个textBox和一个按钮,这个逻辑就是在textBox中输入要传给主窗口的值,然后点击【传值给父窗口】按钮,然后当前子窗口会关闭,然后传值给主窗口,如下图:
4、下面是Form2的代码,主要代码是按钮点击事件中的代码,就是点击按钮之后要执行的是将页面中textBox中的值赋值给当前窗口的Tag属性,然后关闭当前子窗口,如下图:
5、然后保存,运行程序,弹出主窗口,如下图:
6、点击主窗口中的按钮,然后弹出子窗口,在子窗口的textBox中输入【传值给父窗口】,然后点击【传值给父窗口】按钮,如下图:
7、窗口按照代码逻辑执行,关闭当前子窗口并把textBox中的值赋值给Tag属性,然后在主窗口中再根据子窗口的实例来获取子窗口的Tag属性,并将获取到的Tag属性值赋值给主窗口的TextBox,这样就实现了通过Tag属性将子窗口的值传值给主窗口了,如下图: