步骤1:在Form1上,布置一个TextBox(textBox1)和一个按钮(button1)
步骤2:在项目中添加一个窗体Form2。在Form2上布置一个Label(label1)。Form2的后台Form2.cs代码如下:
using System.Windows.Forms;步骤3:Form1的后台代码Form1.cs如下
using System;运行结果如下:
追问我想在form2中点击button然后在form2中的textbox中出现form1中某个textbox的值,这样可以吗?
追答可以。这样做:
1)修改Form1后台代码Form1.cs,增加一个属性
public partial class Form1 : Form2)在Form2上增加一个Button(button1);后台代码Form2.cs
public partial class Form2 : Form软糖来回答把。
C#和VB.net不一样,窗体是类,而不是唯一的对象,所以必须指向该Form才能引用其中的对象。
首先在Form2定义一个全局静态字段 存储当前窗体
public Form2 curForm2;然后在Form5中即可调用,注意,如果Form2从未启动,则会引发null错误。
curForm2.textbox满意请采纳,谢谢。
追问是这样引用吗?
还是出问题呀,怎么解决
加个static Form3 curForm3
追问能不能具体的操作代码写一下,我很菜,谢谢
我还是实现不了
显示要先判定是否为null什么的
现在我还有个问题是form3调试后有计算数据,但是在调试过程中从form4返回form3的时候,刚刚form3计算调试的数据都没有了,和没有调试之前的窗口一样,这个怎么解决
当我返回上一页的时候,又是空的了
追答重新做了一个,实测可以。
点击Form1的按钮打开Form2,关闭后返回Form1,每次打开Form2文本框都递增一个A字母。
注意要给Form2添加一个FormClosing事件,里面把关闭改为隐藏,使用e.Cancel=true取消关闭事件。还要给Form2添加一个FormLoad事件,把控件textbox1赋值给变量tbox1。
具体代码有没有,这些我觉得我写出来有问题
拜托啦
发生了null错误,但是我的form启动的呀
代码是if(curForm3.textBox37.Text!=null)
{textBox4.Text=curForm3.textBox37.Text;}
else
{}