0

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

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

4

2 回答 2

1

好的,我会试一试:)

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

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

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

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

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

于 2013-04-29T23:30:49.397 回答
1

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

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

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

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

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

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

因此,您将使用计算逻辑填充新方法的主体。实际上,您实际上只是让设计器将该新方法与 Button 的单击事件挂钩。因此,在您的情况下,无论您是将计算逻辑添加到按钮单击还是TextBoxTextChanged 事件,您实际上都在做几乎相同的事情。

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

于 2013-04-29T23:54:28.560 回答