c#窗体之间传递数据

将一个变量的值传递给另一个窗体的变量,应该怎么做,越简单越好

简单举例:
(例一)窗体A中变量X=2,通过触发方法打开窗体B,并且窗体B中变量Y(原本为空)得到数值2;
(例二)窗体A中变量X(原本为空),通过触发方法打开窗体B,经过计算B中变量Y=2,关闭B,同时使X得到数值2。
具体点
代码怎么写
网址也行

这问题太简单了,有多种方法能实现呢!我就写个例子你看看:
你的例一实现代码:在你的Form1窗体类中声明 public int x = 2;这样的全局变量,然后在Form2窗体类中声明int y;在某个事件中比如Form2_Load里写上y = new Form1().x;就可以实现拉!
你的例二实现代码与上面类似,反过来写就ok啦!

也可以通过创建含参数的构造函数实现,我就不举例了,上面是最简单的不知道你是不是这个意思哦!
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-02-17
可以创建一个类UserHelp,通过这个类里的静态字段或属性传递值。
这个类声明个字段
public static int temp;
1.先把A窗体的X赋值给temp,再通过temp传给B窗体中的Y,在A窗体FormB b = new FormB();后面加上:
UserHelp.temp=this.X;
在B窗体中
Y=User.temp;
第2个回答  推荐于2016-10-24
form1:
private void button1_Click(object sender, EventArgs e)
{
string aa = "aa";
Form2 form2 = new Form2(aa);
form2.ShowDialog();
}
form2:
private string text;

public Form2(string str)
{
InitializeComponent();
text = str;
}

private void Form2_Load(object sender, EventArgs e)
{
label1.Text = text;
}本回答被提问者采纳
第3个回答  2009-02-17
用全局变量吧,最容易了。

public static class Global
{
public static string X;
public static string Y;
}

这样就可以在任何地方,任何时间得到变量X,Y了。
第4个回答  2020-05-13
按了form2的按钮后让form2隐藏,form1显示.
这样传回来的数据就可以显示了.

c#打开两个窗体口是分别输入输出互相会影响吗?
在C#中,打开两个窗体并在它们之间进行输入和输出操作时,默认情况下是相互独立的,互不影响。每个窗体都有自己的控件和数据上下文,输入和输出操作只会在当前窗体中进行。如果你希望两个窗体之间进行数据的传递或共享,可以通过以下几种方式实现:构造函数或属性传值:可以在创建第二个窗体时,将需要传递...

C# 窗体间的数据传递
建一个类,比如名字为Helper ,在类中建一个公共的静态的变量,变量类型为你要传递的数据类型。下面用整数给个例子:class Helper { public static int number;} 在窗体A中的一个方法中写入以下代码:Helper.number=98;在窗体B中的一个方法中想用A窗体中的值98,代码如下:int age =Helper.number;...

在C#中怎样在两个Form之间传递数据(Winfrom)?
public class Form1 : System.Windows.Forms.Form\/\/两个窗体之1 { static string OPC;\/\/静态变量用来保存 public string xx { set{OPC=value;} get{return OPC;} } } public class Form2 : System.Windows.Forms.Form\/\/两个窗体之2 { Form1 form1=new Form1();form1.xx=要传递的值;}...

C#中的窗体程序 想让一个窗体上textbox中的值 传递到另一个label中_百 ...
最简单的方法是你先新建一个静态类 在类里面定义一个string 类型的变量 在登陆成功后给这歌变量赋值,然后就可以在登陆后的窗户使用了 public static CommonData { public string StudentId(){get;set;} } 登陆成功后赋值:CommonData.StudentId="2010307200111";使用的时候 label.Text =CommonData.Stud...

C# 不同窗体 不同线程间传递数据
从你的问题来看,应该是在接受到数据的时候去触发这个事件。具体的Code:namespace Test{ public delegate void SendMessageEventHandler(Object sender, string str) public class B : Form { public event SendMessageEventHandler SendMessage; public void ReceiveMessage()\/\/你在B中接收...

C#中窗体之间的对象传递问题
下面来给Form2中的form2zhi赋值就可以了。双击Form2窗体在Form2_Load中写入以下代码即可实现:form2zhi = "将我传过去!";好了到目前为止不同窗体间的传值已经实现了。以上方法对所有窗体都可用,不管是子窗体与主窗体之间还是子窗体与子窗体之间都可以。呵呵,记得选我为满意答案哦!先谢谢了!

c#中怎样将一个窗体的数据传到另外的一个窗体中
public Form1){ InitializeComponent();} private void button1_Click(object sender, EventArgs e){ Form2 form2 = new Form2this);form2Show();} } b窗体:public Form2(){ InitializeComponent();} Form1 form1 = new Form1();public Form2(Form1 form1){ InitializeComponent();\/\/必须写...

c#两个窗体之间textbox如何传值
Form1 中 全局变量Form2 f2=new Form2();按钮事件:f2.show();f2.GetValue=textBox1.Text;Form2中 属性 public string GetValue { set { textBox1.Text = value;\/\/Form2没有show这里会异常 } }

c# form间数据传输
方法二、在Form2中调用Form3的成员变量赋值(在new对象之后,Show之前)方法三、使用第三个类中声明一个静态的变量,在Form2中给这个变量赋值,在Form3中使用就可以了。由于是静态的,直接用类名访问,不需要new,也独立于两个窗体。以上方式希望对你有帮助,虽然你没给分,但是我喜欢爱学习的人呵呵...

c# 两个from间传值的问题
在两个Form窗体之间传值,首先需要将第二个窗体中的变量、属性、方法声明为public。然后在第一个窗体中创建第二个窗体的实例,并通过该实例访问public成员。private string employeeId;public string EmployeeId { get { return employeeId; } set { employeeId = value; } } private MangaJobListView_...

相似回答