2017-02-19 220 views
0

我正在写一个C#编程,其中有几个文本框给出了用户的一些信息。我有一个“提交”按钮来保存输入的信息。 我想这个文本框是这样工作的: 答:当没有输入信息时,通过按提交按钮,在文本框周围显示一个红色的粗边框。 B.当用户被注意时,并尝试在相应的文本框中输入一些信息,经过一定数量的字母(例如输入至少4个字母后),文本框的边框样式将切换为常规样式!如何在输入时更改TextBox边框颜色和样式?

如果你能帮助我,我将不胜感激! 我搜索了很多TextBox边框颜色,但我找不到任何有用的东西。

+0

这是什么样的应用程序?窗体窗体,WPF,网络? – CodingYoshi

+0

欢迎来到Stack Overflow!您可以先[参观](http://stackoverflow.com/tour)并学习[如何提出一个好问题](http://stackoverflow.com/help/how-to-ask)并创建一个[最小,完整和可验证](http://stackoverflow.com/help/mcve)示例。这使我们更容易帮助你。 –

+0

请尝试此https://www.google.com/search?q=c%23+textbox+border+color – 0x3h

回答

0

首先,无论何时你在SO中提出问题,你都必须付出一些努力并展示你所尝试过的东西,以便人们愿意帮助你。以此作为未来问题的注释。

话虽如此,你必须添加一个处理程序到你的TextBox控件的TextChanged事件。然后你必须改变你想要的属性:

private void textBox1_TextChanged(object sender, EventArgs e) 
{ 
    //PUT THE BUSINESS LOGIC IN HERE 
    if(textBox1.Text = "") 
    { 
       textBox1.BorderStyle = BorderStyle.None; 
       Pen p = new Pen(Color.Red); 
       Graphics g = e.Graphics; 
       int variance = 3; 
       g.DrawRectangle(p, new Rectangle(textBox1.Location.X - variance, textBox1.Location.Y - variance, textBox1.Width + variance, textBox1.Height +variance)); 
    } 
    else 
    { 
     textBox1.BorderStyle = BorderStyle.FixedSingle; 
    } 
} 
+1

这不起作用,因为它甚至不会编译。另外,你怎么知道OP是使用Windows窗体? – CodingYoshi