2011-09-04 134 views
0

有没有办法让标签自动更新,以便我不必使用按钮发送命令。我设置的是小计文本框,折扣文本框,税标,发货文本框和总标签。所以,当人们填写小计,折扣和运费时,我想要计算税收标签,但前提是以前在表单的另一部分中选择了某个州。那么,在所有这些填充的情况下,我希望总标签被填充。所有这些我知道我可以使用按钮,但我想知道是否有方法在Visual Studio中使用C#自动化它。没有按钮的更新标签

谢谢。

+3

WinForms? WPF? Silverlight的? ASP.Net? MonoTouch的? – SLaks

+0

@SLaks:它是一个WinForms – cb1295

回答

2

我使用TextChanged事件来更新文本框对之间的这种值。下面是我的一些代码提取物:

private void onLongitudeTextChanged(object sender, EventArgs e) { 
      updateDistanceAndBearing(); 
     } 

updateDistanceAndBearing做了一些错误检查 - 这可能是一个好主意,如果用户可以把无效的值,然后更新其他文本框 我有文本框的Text属性但改为更新label.Text属性。

它变得更加杂乱(至少我发现它的话),如果你有数字updowns获得价值

+0

好的,所以它在文本框之间运行,所以我想我可以检查它以确保所有值都已填充,正如您所说的,使用有效值。谢谢,我会稍微尝试一下。 – cb1295

+0

是的,您可以在键入时验证文本框。有NET中的ErrorProvider可以使用http://msdn.microsoft.com/en-us/library/system.windows.forms.errorprovider(v=VS.90).aspx – ScruffyDuck

1

您可以调用一个方法来更新控件的更改事件中的标签。

欲了解更多详情,请提供更多详情。

1

这是把我的头顶部,但应该让你很接近......

private void taxChanged(object sender, EventArgs e) 
     { 
      updateTax(); 
     } 


private void updateTax() 
     { 
      // the rest of your logic, checking state, etc. 
      // 
      this.Tax.Text = aValueCalculatedInYourLogicAbove; 
      updateTotal() 
     } 

private void updateTotal() 
     { 
      // sum up whatever fields need to be summed 
      // 
      this.Tax.Text = aTotalValueCalculatedAbove; 
     } 
+0

谢谢,希望我可以选择两个答案已经选择了另一个,但是这个也很好。 – cb1295