回答
您可以覆蓋OnPaintBackground
方法。
protected override void OnPaintBackground(PaintEventArgs pevent)
{
if (_I_need_to_paint_background) {
base.OnPaintBackground(pevent)
}
}
原因,這意味着你必須派生自己的RichTextBox形成原始
public class MyRichTextBox : RichTextBox
{
...
protected override void OnPaintBackground(PaintEventArgs pevent)
{
// Your background painting logic goes here
}
protected override void OnPaint(PaintEventArgs e)
{
// Your foreground painting logic goes here
}
}
隨着控制Invalidate
方法,你可以告訴他們應重繪自己控制。 Refresh
方法使控件失效,並通知它立即重繪(使用OnPaintBackground
和OnPaint
)。
問題是,我想要繪製背景,然後強制再次在其上繪製前景... – alexandertr 2012-04-19 13:12:17
您可以在'OnPaintBackground'中實現自己的背景繪製邏輯,或者,如上所示,用'OnPaint'繪製。然後你的前景繪圖邏輯進入「OnPaint」。總是在那裏做你所有的繪畫。你可以調用'Invalidate'來觸發重繪。 – 2012-04-19 13:30:48
請參閱我編輯的答案。 – 2012-04-19 13:38:59
- 1. 強制重繪層
- 2. 強制UIWebView重繪?
- 3. 繪製richtextbox數據?
- 4. 強制JScrollPane和JPanel重繪
- 5. 強制重繪WPF控件
- 6. 如何強制TableRow重繪
- 7. WPF強制重繪畫布
- 8. 強制重繪視圖
- 9. 強制屏幕重繪
- 10. 如何強制重繪層
- 11. Android:強制MapView重繪
- 12. 強制形式重繪?
- 13. 強制Google InfoWindow重新繪製自己或刷新其內容
- 14. Android - 如何強制一個畫廊重新繪製其視圖?
- 15. Richtextbox繪製一條rtf線
- 16. 如何強制Richtextbox的Paint方法不擦除背景顏色
- 17. 強制javascript運行*之前*瀏覽器重繪(jsFiddle示例)
- 18. 獲取當前的Android視圖並強制重繪它
- 19. 強制重繪之前長時間運行操作
- 20. 如何在其組件之前繪製面板背景
- 21. 如何強制Mac窗口前景?
- 22. 從後臺強制前景應用
- 23. 如何強制GLUT在函數返回之前重畫場景?
- 24. 強制在其他背景圖片之前加載背景圖片
- 25. 在前景上繪製圖像
- 26. 當視圖重新進入前景時恢復繪製CAShapeLayer?
- 27. 如何在JS中強制重繪?
- 28. 如何在PySide中強制重繪?
- 29. 插入樣式後jQuery強制重繪
- 30. 強制佈局刷新/重繪android?
你嘗試過什麼嗎? – 2012-04-19 12:55:48