2013-05-16 210 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