大家好我是c#的新手,使用visual c#2010,我正在努力学习基础知识。
我创建了两个表单(Form1和Form2)
每个表单都有一个文本框和一个按钮
我的实验(form1到form2)如下:
我已经声明了一个字符串
公共字符串deneme; 我将两个文本框都公开,然后在表单1按钮中写下以下内容:
deneme= textbox1.text;
Form2 frm2 = new Form2();
form2.show();
form2.textbox1.text= deneme;
当我这样做时它工作,我在form2文本框上看到我的输入。 我想做的是; 按下form1上的按钮并打开form2,然后在文本框上写一些内容并在form1文本框中显示该输入,我使用相同的方法,但它什么也没有返回..我做错了什么?
我很抱歉我的英语不好
答案 0 :(得分:1)
简单的方法是Form2的属性
您可以向form2添加属性
public string Result{get;set;}
并在外部代码中查看
form1.textbox1.text= form2.Result;
答案 1 :(得分:0)
deneme= textbox1.text;
Form2 frm2 = new Form2(dename);
form2.show();
在form2中,在Initialize方法中执行此操作:
Initialize(string name)
{
form2.textbox1.text= name;
}
答案 2 :(得分:0)
检查这些不只是传递给另一个表单的单个值,而且还来回处理传递值并挂钩事件...不是高级的东西,但也有一些逐步的样本
答案 3 :(得分:0)
大家好,我已经解决了我的问题,这就是我所做的!
在第二种形式中,我写了以下代码
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();
如果有人遇到同样的困难并且无法弄明白,请不要犹豫与我联系如果我能帮助你我会很高兴
答案 4 :(得分:0)
//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();
}
}