【问题标题】:Repeat same steps on every textChanged event对每个 textChanged 事件重复相同的步骤
【发布时间】:2019-06-25 18:36:27
【问题描述】:

我的项目中有 5 个文本框。 每个TextBox 都应该只接受数字。 为此,我创建了一个函数,它接受未准备好的文本并返回正确的文本。 现在我想知道是否有更简单的方法可以对每个TextBox、每个TextChanged 事件执行此操作,而无需重复几乎相同的代码?

private void TextGoldPack_TextChanged(object sender, EventArgs e)
{
    (sender as TextBox).Text = Only_digits((sender as TextBox).Text);
}

private void TextGoldTake_TextChanged(object sender, EventArgs e)
{
    //repeat here and on every _TextChanged event
}

【问题讨论】:

标签: c# visual-studio winforms


【解决方案1】:

如果我的理解正确,仅仅因为它被命名为 TextGoldTake_TextChanged,并不意味着这是唯一可以使用该代码的文本框。在事件选项卡上,您可以为所有文本框设置 TextChanged 函数以引导该函数。如果有帮助,请将其重命名为听起来不是特定于文本框的名称,例如 TextChanged。

【讨论】:

  • 哇,现在我觉得有点愚蠢。问题出在我对预先创建的函数的思考方式上。从来没有想过它们实际上只是我可以随时使用的简单功能。
【解决方案2】:

更改所有文本框以在 TextChanged 上引用此方法。 使用 sender 属性获取实际调用者 TextBox。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-25
    • 1970-01-01
    • 2018-07-08
    • 1970-01-01
    相关资源
    最近更新 更多