【问题标题】:Real Time Output Of Processed Inputs处理输入的实时输出
【发布时间】:2013-04-29 21:40:11
【问题描述】:

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

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

【问题讨论】:

  • 请发布您目前尝试过的代码,它将帮助我们帮助您。
  • 你熟悉事件的概念吗?
  • @Chris 除了少数基本事件外,我不熟悉事件。到目前为止我还没有写任何东西,因为我不知道程序,但是给定一个航路点我肯定可以写代码。

标签: c# wpf real-time


【解决方案1】:

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

除了在您自己的方法中按程序调用代码,如下所示:

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

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

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

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

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

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

【讨论】:

  • 谢谢@Chris。很有帮助!如果我有进一步的问题,我会尝试编写代码并发布。我们对代表进行了一些研究,但从未使用过它,因为它超出了我们的 OOP 101 课程的范围。至少现在我知道该往哪个方向看。
【解决方案2】:

好的,我会试一试:)

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 2010-09-20
    相关资源
    最近更新 更多