2011-06-30 60 views
1

我想使保存按钮可见,当输入到文本框中使用下面的代码文本:问题的按钮时,文本输入到文本框

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

,但它在tbname.textmodified给出错误

是否有任何其他方式可见的按钮,当我们在文本框中

输入文字,这是错误我收到“textbox.textmodified只能出现在的+ =或左侧的事件 - =“

+1

这是在winforms或asp.net? –

+0

你会得到什么错误?那是WinForm应用程序吗? –

+0

如果这是WinForms,请看看这里:http://msdn.microsoft.com/en-us/library/system.windows.forms.textboxbase.modified.aspx – Town

回答

1

如果我在读你的文字正确,你想保存按钮可见时,文本框中有文字和无形当文本框为空。如果是这样的话,你可以用Leave事件(发生在文本框失去焦点)和一个简单的if声明:

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

你也可以把这个条件块中的任何其他方法,通过事件的变化拉开序幕盒子的文字。

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

2

尝试使用文本框的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; 
} 

然后修改文本使用这些新方法。

enter image description here

+0

其工作正常 – user682417

1

我将在黑暗中刺入并假设按钮与文本框相关,并且您可能希望某人能够在文本框中输入某些内容,然后单击该按钮。你可能不要想要用户必须键入的东西,然后标签出或点击其他地方使按钮可见然后单击按钮。

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

顺便说一下你得到的错误,因为TextModified不是一个布尔值属性,它是一个事件,如框TextChanged或离开或进入。你可以给它分配一个事件处理程序,但不能像这样检查它。

撇开我个人讨厌系统匈牙利语为winforms控件。我宁愿有一个timetableOkButton比btnCTimeablesOK按钮。这样,如果你还有一个timetablesNameTextBox,你可以一目了然地看到按钮和文本框匹配。当然,这可能不取决于你。