窗体传值
winforms中如何传值例如
在form1中有textbox1,textbox2,textbox3,textbox4
现在要把textbox中的值传到form2中的datagridview中如何操作 --------------------编程问答-------------------- 可以设置几个全局静态变量
在form1弹出form2的事件里把textbox1..里的值设置到那几个变量里
而后在form2里的form_load事件里取得值 再加进datagridview里 --------------------编程问答-------------------- 用委托和事件来完成!给个地址看下是否有帮助!
http://jclhy.bokee.com/viewdiary.42173529.html --------------------编程问答-------------------- ding --------------------编程问答--------------------
可以这样实现 --------------------编程问答-------------------- 如果是form1调用form2的话 直接传给form2的构造方法 构造方法里调用form2中的datagridview
如果不是form1调用form2的话,那就把form2中的datagridview 定义成静态的方法static方法
然后在form1中直接调用form2.datagridview 即可
--------------------编程问答-------------------- 有没有人贴点代码上来看看啊 --------------------编程问答-------------------- 你还可以把FORM1里的控件的值存在另外的全局变量中(比如另外建一个常量的类,定义几个全局变量),然后别的地方就可以直接调用,而且不会影响FORM1里原控件的值。 --------------------编程问答--------------------
--------------------编程问答-------------------- --------------------编程问答-------------------- 在form1中写个属性,在form2中直接获取不就可以了,又不是在form2中改变form1中textbox的值。 --------------------编程问答-------------------- 这个问题提的有点模糊,实现方式有多种,楼上的都说了,关键是楼主要怎么去实现。 --------------------编程问答-------------------- 如果用全局变量,会不会造成内存大量占用?因为即使form2等这些窗体不用了,全局变量占用的内存也不会被回收。
//用法不止一种。。可以用构造函数来做,也可以用static,还可以用属性..
form2:
private string str = string.Empty;
public string Str
{
set { str = value; }
}
form1:
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form1();
frm.Str = textBox1.Text;
frm.ShowDialog(this);
frm.Dispose();
}
//这样值传过去以后,再在Form2的Load事件里添加进DataGridView就行了..
--------------------编程问答--------------------
那就用构造函数,或者委托 --------------------编程问答-------------------- 构造函数 --------------------编程问答-------------------- 设置全局变量比较方便。
--------------------编程问答-------------------- 传构造函数或者用MDI传再就是用静态的 --------------------编程问答--------------------
我这是先打开form2在form2中有一个新增按钮
点新增按钮跳出form1
在form1中的textbox中输入再跳回form2把form1窗体中textbox的值带回form2
补充:.NET技术 , C#