【问题标题】:Problem with button when text entered into the textbox文本输入到文本框时按钮出现问题
【发布时间】:2011-09-26 00:06:15
【问题描述】:

我正在尝试使用以下代码在文本框中输入文本时使保存按钮可见:

    if (tbName.TextModified == true)
    {
        btnCTimetablesOk.Visible = true;
    }
     else
    {
        btnCTimetablesOk.Visible = false;
    }

但它在 tbname.textmodified 处出错

当我们在文本框中输入文本时,有没有其他方法可以看到按钮

这是我收到的错误“事件 textbox.textmodified 只能出现在 += 或 -="

的左侧

【问题讨论】:

  • 这是在 winforms 还是 asp.net 中?
  • 你得到什么错误?那是 WinForm 应用程序吗?
  • 如果这是 WinForms,请看这里:msdn.microsoft.com/en-us/library/…
  • "事件 textbox.textmodified 只能出现在 += 或 -=" 的左侧,这是我遇到的错误

标签: c# winforms button textbox


【解决方案1】:

尝试使用文本框的 EnterLeave 事件来显示/隐藏您的按钮:

private void textBox1_Enter(object sender, System.EventArgs e)
{
    btnCTimetablesOk.Visible = true;
}

private void textBox1_Leave(object sender, System.EventArgs e)
{
    btnCTimetablesOk.Visible = false;
}

然后修改您的文本框以使用这些新方法。

【讨论】:

    【解决方案2】:

    如果我正确阅读了您的文本,您希望保存按钮在文本框包含文本时可见,而在文本框为空白时不可见。如果是这种情况,您可以使用 Leave 事件(当文本框失去焦点时发生)和一个简单的 if 语句:

    private void textBox1_Leave(object sender, System.EventArgs e)
    {
      if(textBox1.Text != "")
        btnCTimetablesOk.Visible = true;
      else
        btnCTimetablesOk.Visible = false;
    }
    

    您还可以将此条件块放在由更改框文本的事件启动的任何其他方法中。

    另外,您可能需要考虑使用 Enabled 而不是 Visible,它会将按钮留在表单上,​​但会使文本变灰,并且单击不会执行任何操作。

    【讨论】:

      【解决方案3】:

      我将在这里暗中尝试,并假设按钮与文本框相关,您可能希望有人能够在文本框中键入内容然后单击按钮。您可能希望用户必须键入内容,然后跳出或单击其他位置以使按钮可见然后单击按钮。

      tbName_TextChanged(object sender, EventArgs e)
      {
          btnCTimetablesOk.Visible = !String.IsNullOrEmpty(tbName.Text)
      }
      

      顺便说一句,您收到该错误是因为 TextModified 不是布尔属性,它是一个事件,例如 TextChanged 或 Leave 或 Enter。您可以为其分配一个事件处理程序,但您不能只是这样检查它。

      顺便说一句,我个人讨厌系统匈牙利语的winforms控件。我宁愿有一个 timetablesOkButton 而不是 btnCTimeablesOK 按钮。这样,如果您还有一个 timetablesNameTextBox,您可以一目了然地看到按钮和文本框匹配。当然,这可能不取决于你。

      【讨论】:

        猜你喜欢
        • 2017-09-05
        • 1970-01-01
        • 2020-05-11
        • 2019-02-03
        • 2010-11-01
        • 1970-01-01
        • 2012-04-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多