【问题标题】:C# Changing many textboxes' text color on user inputC# 在用户输入上更改许多文本框的文本颜色
【发布时间】:2013-06-20 18:10:58
【问题描述】:

我的表单中有 81 个 RichTextBox(Sudoku Solver),当用户向其中输入数据并且没有数据(例如已删除或从未存在)时,我希望它们变为灰色以保持白色。我该如何管理?

【问题讨论】:

  • 告诉我们你尝试了什么。
  • 你可以使用 jquery validate 插件。检查它是空的还是填充的,然后改变颜色
  • @Sam 这是C#。我有一种感觉 jQuery 不是一个选择(讨厌打破它,但 JS/DOM 并不是无处不在)。
  • @michaelb958 我的错误阅读标签以为它是 asp.net :)

标签: c# text colors textbox richtextbox


【解决方案1】:

使用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 并循环遍历文本以添加它们,而不是重写添加行 81 次 ;)
  • @user2515638 不客气 :) 如果对您有帮助,请接受作为答案!
【解决方案2】:
$(".test").on("change keyup paste click", function()  {        
if(this.val()=="")

{

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

}

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

【讨论】:

  • -1 正如我在问题 cmets 中对@Sam 所说,这是 C#,没有JavaScript/DOM 在眼前,所以 jQuery 不是一个选项。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-25
  • 1970-01-01
相关资源
最近更新 更多