C# 在窗体之间传递值并将其添加到文本框c中的值#

C# 在窗体之间传递值并将其添加到文本框c中的值#,c#,C#,我正在为学校做一个交易游戏,我发现自己陷入了困境 我有两个表格,我的表格1是我的主表格,里面有我的余额文本框,还有一个文本框,上面写着钱到期了。从该表格中,您可以打开另一张表格(表格2)以获得贷款 在我的表格2(贷款)中,你可以输入你想要得到的金额,当你输入该金额时,它会对该金额产生25%的利息 我想做的是,当你点击提交按钮时,你放入文本框的金额进入你的余额,然后带利息的金额进入欠款文本框 我搞不懂的是如何将这些值从form2传递到form1,以添加到那些文本框中已有的值中 这是当你点击打开贷款

我正在为学校做一个交易游戏,我发现自己陷入了困境

我有两个表格,我的表格1是我的主表格,里面有我的余额文本框,还有一个文本框,上面写着钱到期了。从该表格中,您可以打开另一张表格(表格2)以获得贷款

在我的表格2(贷款)中,你可以输入你想要得到的金额,当你输入该金额时,它会对该金额产生25%的利息

我想做的是,当你点击提交按钮时,你放入文本框的金额进入你的余额,然后带利息的金额进入欠款文本框

我搞不懂的是如何将这些值从form2传递到form1,以添加到那些文本框中已有的值中

这是当你点击打开贷款表时我得到的

private void loansToolStripMenuItem_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    form2.ShowDialog();
}
这就是当你尝试提交这些值时我所拥有的,它还没有完成,但我完全被困在如何做到这一点上

private void button1_Click(object sender, EventArgs e)
{
    Form1 testform = new Form1();

    int tmp;

    Int32.TryParse(textBox2.Text, out tmp);
    testform.textBox39.Text = tmp.ToString();
    this.Close();
}

有人能提出一些简单的建议吗?

给Form2一个包含金额的属性。在Form2关闭后(在ShowDialog之后),您可以访问它:

按如下方式访问值:

private void loansToolStripMenuItem_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    form2.ShowDialog();
    textBox39.Text = form2.Amount.ToString();
}

在表格2中,您需要public
PassValue
proberty,在button1\u-Click函数中,您必须设置
DialogResult=DialogResult。OK

公共部分类表单2:表单 { 公共int PassValue{get;set;}

private void button1_Click(object sender, EventArgs e)
{
    int tmp;
    Int32.TryParse(textBox2.Text, out tmp);
    this.PassValue = tmp;
    this.DialogResult = DialogResult.OK;
}
}

在表格1中,你可以使用这个

private void loansToolStripMenuItem_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    if(form2.ShowDialog() == DialogResult.OK)
    {
        textBox39.Text = form2.PassValue.ToString();
    }
}

我希望它能为您工作。

您好,您做错了,您看到的
testform
Form1
Form1
的两个不同实例。显然,
testform.textBox39也不同。要实现这一点,您可以使用以下方法:

表格中的内容1

public delegate void ChangeText(string amountTxt);
public event ChangeText ChangeTextEvent;
private void loansToolStripMenuItem_Click(object sender, EventArgs e)
{
    ChangeTextEvent += new ChangeText(Change_Text)
    Form2 form2 = new Form2();
    form2.ChangeText = ChangeTextEvent;
    form2.ShowDialog();
 }

 public Change_Text(string amountTxt)
 {
     textBox39.Text = amountTxt;
 }
表格中的内容2

public Delegate ChangeText;
private void button1_Click(object sender, EventArgs e)
{
    int tmp;
    Int32.TryParse(textBox2.Text, out tmp);
    ChangeText.DynamicInvoke(tmp.ToString()); // important line
}
可能重复的
public Delegate ChangeText;
private void button1_Click(object sender, EventArgs e)
{
    int tmp;
    Int32.TryParse(textBox2.Text, out tmp);
    ChangeText.DynamicInvoke(tmp.ToString()); // important line
}