我想区分表单中的必填文本框字段。我通过使用每个表单调用的方法创建一个类来实现这一点。该方法的作用是接收一个文本框列表,并且对于每个文本框,它将背景色设置为另一个。
public static void Mostrar_campos_obligatorios(List<TextBox> lista_textbox)
{
foreach (TextBox tbx in lista_textbox)
{
tbx.Paint += new PaintEventHandler(TextBoxRectangle);
}
}
我现在更改了 GUI,我不喜欢更改背景色后的样子,然后我想绘制一个矩形,如下图所示:
把渐变的东西留给我,我只需要帮助绘制一个与每个 TextBox 高度相同的矩形并位于它的末尾。我也想使用该方法定义(我的意思是,接收文本框列表)。
请注意,这些方法是静态的..
我试过这样的事情:
public static void TextBoxRectangle(object sender, PaintEventArgs e)
{
tbx = (TextBox)sender;
Color c1 = Color.FromArgb(255, 113, 255, 0);
Color c2 = Color.FromArgb(255, 2, 143, 17);
LinearGradientBrush br = new LinearGradientBrush(e.CellBounds, c1, c2, 90, true);
ColorBlend cb = new ColorBlend();
cb.Positions = new[] { 0, (float)1 };
cb.Colors = new[] { c1, c2 };
br.InterpolationColors = cb;
Rectangle rect = new Rectangle(tbx.Location.X + 4, tbx.Location.Y + 4, 13, 13);
e.Graphics.FillRectangle(br, rect);
}
但不工作。它甚至不访问TextBoxRectangle()
. 我觉得我做的很不对。。