[英]how do you pass a textbox value in form2 to form1 in c#
大家好,我是 c# 新手,使用 Visual c# 2010,我正在尝试学习基础知识。
我创建了两个表单(Form1 和 Form2)
每个表单都有一个文本框和一个按钮
我的实验(form1 to form2)如下:
我已经声明了一个字符串
公共字符串deneme; 我公开了两个文本框,并在表单 1 按钮中写了以下内容:
deneme= textbox1.text;
Form2 frm2 = new Form2();
form2.show();
form2.textbox1.text= deneme;
当我这样做时,它会起作用,并且我在 form2 文本框上看到了我的输入。 我想做的是; 按下form1上的按钮并打开form2,然后在文本框上写一些东西并在form1文本框中显示该输入,我使用相同的方法但它什么都不返回..我做错了什么?
我很抱歉我的英语不好
简单的方法是Form2的一个属性
您可以向form2添加属性
public string Result{get;set;}
并在外部代码中检查它
form1.textbox1.text= form2.Result;
deneme= textbox1.text;
Form2 frm2 = new Form2(dename);
form2.show();
在 form2 中,在 Initialize 方法中执行此操作:
Initialize(string name)
{
form2.textbox1.text= name;
}
检查这些不仅仅是传递给另一个表单的单个值,而且还处理来回传递值以及连接到事件......不是高级的东西,但也有一些分步示例
大家好,我已经解决了我的问题,这就是我所做的!
在第二种形式中,我编写了以下代码
Form1 mymainform;
public Form2(Form1 m)
{
InitializeComponent();
afrm1 = m;
}
并在按钮单击我写以下
mymainform.Textboxnameinform1.text = textboxnameinform2.text;
this.close();
在 Form1 中,我有调用 form2 的按钮,我编写了以下代码
Form2 frm2 = new Form2(this);
frm2.Show();
如果有人遇到同样的困难并且无法弄清楚,请不要犹豫与我联系如果我能帮助你,我会很高兴
//this code worked for me
//in form2 put following code prevent form from opening multiple times
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private static Form2 Instance;
public static Form2 GetInstance()
{
if (Instance ==null || Instance.IsDisposed)
{
Instance = new Form2();
}
else
{
Instance.BringToFront();
}
return Instance;
}
// in form1
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Button2_Click(object sender, EventArgs e)
{
Form2 form2 = Form2.GetInstance();
form2.textBox1.Text = textBox1.Text;
form2.Show();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.