2013-05-16 154 views
1

我使用此代码将文本框边框的颜色更改为红色。TextBox边框不显示操作GroupBox

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); 
} 

这适用于直接在窗体上但不在文本框位于组框中的文本框。我应该怎么做?

+0

您是否尝试过创建自己的具有边框的用户控件,以便您可以轻松更改它? – Jetti

+0

不,我想保持这个尽可能简单,没有额外的控制,类等,我发布的代码做它只需要不在groupboxes上,我看不出有什么区别,它会使做一个用户控制。在我的书中,你应该首先解决这个问题,然后你仍然可以控制它 – peter

+0

你应该继承你的文本框并在那里绘制它。 –

回答

2

窗体的Paint事件不能在组框上涂鸦,它有它自己的窗口。 Windows被阻止彼此绘画。

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

+0

就是这样!就这么简单,谢谢! – peter