2013-06-24 103 views
0

我的表單中有81個RichTextBox(Sudoku Solver),我希望它們在用戶向其中輸入數據時以及沒有數據時變爲灰色(例如,新建或從未在那裏)保持白色。我如何管理?C#在用戶輸入中更改許多文本框的文本顏色

+0

告訴我們你是怎麼都試過了。 – Prashant16

+0

你可以使用jQuery驗證插件。檢查它是否爲空或填充然後改變顏色 – Zaki

+0

@Sam這是** C#**。我有一種感覺jQuery不是一種選擇(討厭把它分解給你,但JS/DOM並不是無處不在)。 – michaelb958

回答

2

使用EventHandler
MSDN

private void TextChangedEventHandler(object sender, EventArgs e) 
{ 
    TextBox tb = sender as TextBox; 
    if(tb != null){ 
     if(tb.Text.Length > 0){ 
     //set color 
     } 
     else{ 
     //set color 
     } 
    } 
} 

... 

//Loop through your controls (textboxes) and set handler 

foreach(Control c in this.Controls){ 

    if(c is TextBox){ 
     c.TextChanged += TextChangedEventHandler; 
    } 

} 
+1

+1 並通過textboes循環添加它們而不是重寫添加行81次;) – Yami

+0

@Yami當然^^需要幾年這樣做... –

+0

@ user2515638歡迎您:)如果它幫助您,請接受爲答案! –

-2
$(".test").on("change keyup paste click", function() {   
if(this.val()=="") 

{ 

this.css('background-color', '#ffff00'); 

} 

     else 
     { 
    this.css('background-color', '#ffff55'); 
} 
}) 
+0

** - 1 **正如我在問題評論中對@Sam所說的,***這是C#***,並且沒有JavaScript/DOM,所以*** jQuery不是一個選項。** * – michaelb958

相關問題