处理输入的实时输出

时间:2013-04-29 21:40:11

标签: c# wpf real-time

作为C#的初学者,我在特定的实现中遇到问题。我需要实时计算两个数据,我的意思是,只要提供输入,输出就会显示ki而不需要点击按钮。   - 例如,我有一个文本框,如果类型为数字5添加到它,输出显示在标签中。当实时输入更多数字时,标签会自动更新。

我如何实现这一目标? 谢谢!

2 个答案:

答案 0 :(得分:1)

好的我会试一试:)

假设表单上有两个文本框和一个标签。

每个文本框都有一个text_changed事件处理程序,即如果您在任一文本框中键入内容,则会调用事件处理程序代码,您可以在其中访问每个文本框的文本并将文本转换为两个数字。

然后根据规则计算2个数字,结果显示在标签中。

这是一个非常简化的解释!必须验证文本框中的输入,以确保数据格式正确。

如果不够清楚,请提出更多问题。

答案 1 :(得分:1)

在解释具体细节之前,重要的是要指出,从代码的角度来看,单击按钮或响应TextBox事件之间没有太大区别。这就是我的意思。

除了从你自己的方法中以程序方式调用代码,如下所示:

void MyMethod(argument)
{
    ...Other Code...
    DoSomething(argument);
    ...Other Code...
}

.Net还允许您将方法调用附加到Events。事件只是对代理的引用(我将由您来研究代表),但它们允许您基于外部交互异步执行代码。

在您的问题中,您说要在不让用户单击按钮的情况下执行计算。在介绍如何实现这一目标之前,让我们考虑一下如果有按钮你会怎么做。有可能你会拖累和放弃将按钮拖放到设计器表面上,然后双击它。在幕后你会突然有一个看起来像这样的方法:

void button_ButonClick(object sender, ClickEventArgs args)
{
    DoSomething();
}

因此,您将使用计算逻辑填充新方法的主体。在引擎盖下你实际上只是让设计师将新方法挂钩到Button的click事件。因此,在您的情况下,无论您是将计算逻辑添加到按钮单击还是TextBox的TextChanged事件,您实际上都在做同样的事情。

仅供参考,这是TextBox TextChanged event的MSDN文档。