假设我有两个名为:
的文本框 Price
= _______
Discount
= _______
我还有一个名为Total
的标签。
我想要的是,当我在Price
文本框中键入一些值,然后移动鼠标并单击下一个文本框Discount
时,Total
标签将具有Price
文本框中的值。
目前我有这个
当我在键盘上单击 Enter 或 Tab 时,它将更新:
private void TxtPrice_KeyDown(object sender, KeyEventArgs e)
{
if ((e.Key == Key.Return) || (e.Key == Key.Tab))
{
try
{
//some code
}
catch (Exception ex)
{
//some code
}
}
}
我希望无需单击 Enter 或 Tab 即可更新数据。
我希望这些功能在后面的代码中完成。有可能这样做吗?如果是,情况如何?
答案 0 :(得分:4)
每个TextBox都有一个Promise<any>
事件,该事件是由于鼠标或键盘失去焦点而触发的。
然后在您的LostFocus
函数中执行类似的操作
TextBox_LostFocus()
填写当前价格。
可以实现一些安全功能,以检查价格TextBox中的金额是双精度还是整数。
答案 1 :(得分:0)
我认为您可以为此使用TextChanged
事件
private void TxtPrice_TextChanged(object sender, EventArgs e)
{
TotalLabel.Text = TxtPrice.Text;
}
private void TxtDiscount_TextChanged(object sender, EventArgs e)
{
//Logic for discount
//And update TotalLabel
}
答案 2 :(得分:-1)
您可以在Discount TextBox上使用GotFocus
-Event
像这样:
<TextBox x:Name="Discount" GotFocus="Discount_GotFocus"></TextBox>
以及背后的代码:
private void Discount_GotFocus(object sender, RoutedEventArgs e)
{
//Do something
}