不同窗体之间数据传递

xpfoo2009 2010-01-05 09:38:50
两个窗体form1和form2
form1 里面textbox1
form2 里面textbox2 button1
按 button1 form2 里面textbox2 的值 传给form1 里面textbox1
最好针对这个例子给代码

...全文
80 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengling2001 2010-01-06
  • 打赏
  • 举报
回复
间隔性问题,自己搜索下论坛,这个问题已经讨论过N次,已经有标准答案了
happyer_longlong 2010-01-05
  • 打赏
  • 举报
回复
1 全局变量(不会自动更新)
2 用代理(最好的办法)
3 通过数据库传值
4 通过配置文件传值
5 通过构造函数传值
asp.net
6 通过 session 传值
7 通过 Url 传值
8 通过 Response传值
........
virken0212 2010-01-05
  • 打赏
  • 举报
回复
1、通过定义属性,应该可以做到吧;
2、窗体应该也可以传值的吧。如: frm2 = new frm2(int i);

第一个窗体
private void button1_Click(object sender, EventArgs e)
{
frm2 f = new frm2(int i);
frm2.Show();
}

第二个窗体
public frm2(int j)
{
InitializeComponent();
}
m_struggle 2010-01-05
  • 打赏
  • 举报
回复
可以自定义个事件进行传值哦!
xpfoo2009 2010-01-05
  • 打赏
  • 举报
回复
因为Form1里面还有其他的数据,如果实例化FORM1,那么洽谈的数据就过不去。有没有其他的办法?
元宇宙之家 2010-01-05
  • 打赏
  • 举报
回复
public partial class Form1 : Form
{
public static TextBox tb1;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
tb1 = textBox1;
}
}

public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form1.tb1.Text = this.textBox2.Text;
}
}
BATTLERxANGE 2010-01-05
  • 打赏
  • 举报
回复
这样也可以:

//FORM1的代码
Form2 frm2;
private void Form1_Load(object sender, EventArgs e)
{
frm2 = new Form2();
if (frm2.ShowDialog() == DialogResult.OK)
{
MessageBox.Show(frm2.textBox1.Text);
}
}
//FORM2的代码
private void button1_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
}
  • 打赏
  • 举报
回复
问这个问题的人太多了
不就是一个类访问另一个类的成员吗?
BATTLERxANGE 2010-01-05
  • 打赏
  • 举报
回复
将form2窗体中的Text1的Modifiers属性设置为Public

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Form2 frm2;
private void Form1_Load(object sender, EventArgs e)
{
frm2 = new Form2();
frm2.Show();
}

private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(frm2.textBox1.Text);
}
}
}

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧