C# 文本框边框未显示在op GroupBox中

C# 文本框边框未显示在op GroupBox中,c#,winforms,textbox,C#,Winforms,Textbox,我使用此代码将文本框边框的颜色更改为红色 private void Form1_Paint(object sender, PaintEventArgs e) { e.Graphics.DrawRectangle(new Pen(Brushes.Red, 3), tb.Location.X-1, tb.Location.Y-1, tb.ClientRectangle.Width+ 5, tb.ClientRectangle.Height + 5);

我使用此代码将文本框边框的颜色更改为红色

private void Form1_Paint(object sender, PaintEventArgs e) {
      e.Graphics.DrawRectangle(new Pen(Brushes.Red, 3), 
        tb.Location.X-1, tb.Location.Y-1, tb.ClientRectangle.Width+ 5, 
        tb.ClientRectangle.Height + 5);
}

这适用于直接位于表单上的文本框,但不适用于文本框位于groupbox中的情况。我该怎么做?

表单的绘制事件不能在组框上涂鸦,它有自己的窗口。窗户不能相互涂刷


您需要使用组框的绘制事件。

您是否尝试过创建自己的用户控件,该控件具有边框,以便您可以轻松更改它?不,我希望尽可能简单,不需要额外的控件、类等,我发布的代码只做它需要做的事情,而不是在组框上,我看不出做一个用户控件会有什么不同。在我的书中,你应该首先解决一些可行的问题,然后你仍然可以对它进行控制。你应该对文本框进行子类化并在那里绘制它。就是这样!就这么简单,谢谢!!