【发布时间】:2021-07-30 17:00:25
【问题描述】:
我正在尝试将多个用户输入框输入添加在一起进行计算,然后将它们显示到标签框中。当我使用计算 btn 时,我不知道为什么。我的标签框正好等于 0。我的 btnClear 也可以清除输入文本框。如果我改变 miscChargelbl.Text = miscCharge.ToString();到 miscChargelbl.Text = 1.ToString();它将杂项费用标签框显示为 1。但如果我将其保留为 0,这意味着它不会从 CalcMiscCharges() 中进行计算。我如何才能将正确的文本输出到空标签中。
//*Variables*//
private double dayCharge;
private double mediCharge;
private double surgCharge;
private double labCharge;
private double rehabCharge;
private double daysStay;
private double stayCharge;
private double miscCharge;
private double totalCharge;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void btnExit_Click(object sender, EventArgs e)
{
this.Close();
}
private void btnCalc_Click(object sender, EventArgs e)
{
/*I Cant figure why this doesn't change the labels to the inputted text*/
miscChargelbl.Text = miscCharge.ToString();
stayChargelbl.Text = stayCharge.ToString();
totalChargelbl.Text = totalCharge.ToString();
}
private void CalcStayCharges()
{
/*Calculate the days stayed price*/
dayCharge = 350;
daysStay = Double.Parse(daySpenttxt.Text);
stayCharge = dayCharge * daysStay;
}
private void CalcMiscCharges()
{
mediCharge = double.Parse(medicationtxt.Text);
surgCharge = double.Parse(surgicaltxt.Text);
labCharge = double.Parse(labfeetxt.Text);
rehabCharge = double.Parse(rehabtxt.Text);
miscCharge = mediCharge + surgCharge + labCharge + rehabCharge;
}
private void CalcTotalCharges()
{
/*Add stay charge with misc charge*/
totalCharge = stayCharge + miscCharge;
}
private void btnClear_Click(object sender, EventArgs e)
{
/*Clears and resets textboxes for new data */
medicationtxt.Text = String.Empty;
surgicaltxt.Text = String.Empty;
labfeetxt.Text = String.Empty;
rehabtxt.Text = String.Empty;
daySpenttxt.Text = String.Empty;
}
}
} '''
【问题讨论】:
-
为什么要从 CalcMiscCharges 获取结果?可能您希望将该代码移动到 CalcMiscCharges 并在单击时调用 CalcMiscCharges()。再读一遍。您的计算不必要地分散。他们需要全部调用。
-
你实际上在哪里调用
CalcStayCharges()?我怀疑您可能没有在更改标签文本之前调用该方法。你会在其他地方调用这个方法吗?
标签: c# visual-studio simple-form