从另一个类获取TextBox值
本文关键字:TextBox 获取 另一个 | 更新日期: 2023-09-27 17:49:27
经过5个多小时的搜索和尝试,仍然没有解决方案…我有两个类(我们叫它们Form1和Form2)。表单1有两个带值的文本框和一个按钮。当我触发这个按钮时,Form2将被打开,并使用Form1的文本框中写的值计算一些东西。
下面是我的代码(如果你需要的话):
中Form1:
namespace Darlehensrechner
{
/// <summary>
/// Interaction logic for Annuitätendarlehen.xaml
/// </summary>
public partial class Annuitätendarlehen : Window
{
public Annuitätendarlehen()
{
InitializeComponent();
}
public void berechnen2_Click(object sender, RoutedEventArgs e)
{
double zins = 0.03;
double ZwErg1 = 0;
double ZwErg2 = 0;
double ZwErg3 = 0;
double gSumme = 0;
int monate;
monate = Convert.ToInt32(monate2.Text);
monate = int.Parse(monate2.Text);
int betrag;
betrag = Convert.ToInt32(betrag2);
betrag = int.Parse(betrag2.Text);
Annuitätenrechner annuitätenrechner = new Annuitätenrechner();
//AnRe.AnRechner();
}
}
}
Form2:
namespace Darlehensrechner
{
class Annuitätenrechner : Annuitätendarlehen
{
Annuitätendarlehen annuitätendarlehen = new Annuitätendarlehen();
public void AnRechner(int monate, int betrag)
{
double zins = 0.03;
double ZwErg1 = 0;
double ZwErg2 = 0;
double ZwErg3 = 0;
double gSumme = 0;
ZwErg1 = Math.Pow((1 + zins), monate * zins); //(1 + zins)^monate * zins / (1 + zins) ^ monate - 1;
ZwErg2 = Math.Pow((1 + zins), monate - 1);
ZwErg3 = ZwErg1 / ZwErg2;
gSumme = ZwErg3 * betrag;
rechnung2.Text = ZwErg1 + " = Part 1: (1 + zins^monate * zins)" + Environment.NewLine +
ZwErg2 + " = Part 2: (1 + zins) ^ monate - 1" + Environment.NewLine +
ZwErg3 + " = Part 1 - Part 2";
summeAn.Content = gSumme.ToString("0.00");
}
}
}
那么,问题在哪里呢?
//int monate;
int monate = Convert.ToInt32(monate2.Text);
//monate = int.Parse(monate2.Text); //you do not need this because the code above do the same
//int betrag;
int betrag = Convert.ToInt32(betrag2.Text);
//betrag = int.Parse(betrag2.Text); //you do not need this because the code above do the same
Annuitätenrechner annuitätenrechner = new Annuitätenrechner();
// after creating instance just to call method and pass parameters
annuitätenrechner.AnRechner(monate, betrag);
在基类中使用派生类的方法是一种不好的设计。您不需要这一行
Annuitätendarlehen annuitätendarlehen = new Annuitätendarlehen();
在Annuitätenrechner
类
在form1中创建两个静态变量
public static int Value1;
public static int value2;
on button click:
value1=convert.toint32(textbox1.Text);
value2=convert.toint32(textbox2.Text);
和显示form2
Form2 obj = new Form2();
obj.show();
和在表格2加载事件计算你的值
int Sum=Form1.Value1+Form1.value2
MessageBox.Show(Sum.ToString());