【问题标题】:Automatically compare two textboxes value, no button自动比较两个文本框的值,没有按钮
【发布时间】:2016-10-18 21:15:59
【问题描述】:

大家好,我正在尝试在用户输入数据时自动比较两个文本框。第一个文本框从您选择 % 的 2 个组合框中获取其值,并计算到该文本框。 另一个文本框是相同的,这个不能大于前一个文本框。 这是我一直在做的,但它只有在你用键盘输入数据时才有效,我不是。

tbRegPersPlacÅrArb.KeyUp += textBox_Compare;
        Kvarattfördela.KeyUp += textBox_Compare;

  private void textBox_Compare(object sender, KeyEventArgs e)
    {
        Color cBackColor = Color.Red;
        if (tbRegPersPlacÅrArb.Text == Kvarattfördela.Text)
        {
            cBackColor = Color.Green;
        }
        tbRegPersPlacÅrArb.BackColor = cBackColor;
        Kvarattfördela.BackColor = cBackColor;
    }

【问题讨论】:

  • KeyUp 可能不是要处理的正确事件。也许TextChanged
  • 你不能在计算的地方比较 2 个值吗?设置 .Text 属性后,立即设置 bcolor 吗?

标签: c# winforms


【解决方案1】:

您应该使用比较函数并在两个文本框的“Text Changed”事件处理程序上调用它。 您可以创建以下 Comapare 函数:

private void Compare()
{
    Color cBackColor = Color.Red;
    if (tbRegPersPlacÅrArb.Text == Kvarattfördela.Text)
    {
        cBackColor = Color.Green;
    }
    tbRegPersPlacÅrArb.BackColor = cBackColor;
    Kvarattfördela.BackColor = cBackColor; 
}

并在两个文本框的 TextChanged 事件处理程序中调用它。

private void tbRegPersPlacÅrArb_TextChanged(object sender, EventArgs e)
    {
       Compare();
    }
private void Kvarattfördela_TextChanged(object sender, EventArgs e)
    {
       Compare();
    }

这应该会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多