2011-06-30 85 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,你可以一目瞭然地看到按鈕和文本框匹配。當然,這可能不取決於你。