如果我重寫OnPaint並在控件上畫一個正方形,我該如何得到e.graphics.draw ...以便在設計器中預覽它時顯示出來?覆蓋OnPaint
回答
http://msdn.microsoft.com/en-us/magazine/cc164048.aspx
http://msdn.microsoft.com/en-us/magazine/cc164145.aspx
雖然你可以手動 Control.OnPaint註冊加入您的設計 時間UI,你會發現,覆蓋 OnPaintAdornments是一個更好的選擇 ,因爲它是隻有在調用 控件的設計時/運行時UI後纔會調用 畫出來,讓你把 錦上添花(見圖20)。只需添加 到DesignerAttribute的 ClockControl類完成 協會:複製代碼
[ 設計師(typeof運算(ClockControlDesigner)) ]類ClockControl:控制{...}
包含段落描述是很好的,因爲這些鏈接已經死了。 – LarsTech 2016-02-09 20:21:00
如果你試圖繪製一個焦點矩形爲你控制,並且當它被添加到表單後操作你的控件時它是可見的,那麼Gaijin42's approach應該工作。
如果你想看到您的自定義繪製控件的樣子......
如果你已經重寫了
OnPaint
方法在控制,你應該看到OnPaint
的結果,當你在將其添加到表單(或其他控件)之後查看您的控件。如果你想看到
Paint
的結果看設計師爲控件本身時,I don't think that is possible(至少它不符合VS2005):不幸的是這是不可能的。 在編寫用戶控件的行爲 時,代碼不是 已編譯,而設計器實際上是 使用普通用戶控件來託管 子控件。
OnPaint
覆蓋等不會運行。要調試控件 中的覆蓋,您需要在某種 主機中運行它。 VS2005提供了一個新的控制 主機爲此目的,但我發現,即使這是不夠的有時。
- 1. C#:覆蓋ProgressBar上的OnPaint不工作?
- 2. .net壓縮框架按鈕覆蓋OnPaint
- 3. DoubleBuffered設置爲true時覆蓋OnPaint時出現問題
- 4. 我需要在我的OnPaint覆蓋繪畫(用於.NET控件)
- 5. 覆蓋覆蓋?
- 6. C++覆蓋...覆蓋?
- 7. 覆蓋或覆蓋
- 8. OnPaint覆蓋無法在圖片框頂部繪製白色文本
- 9. 覆蓋
- 10. 覆蓋
- 11. 覆蓋
- 12. 覆蓋
- 13. 覆蓋
- 14. 覆蓋一個畫布覆蓋div
- 15. CSS中心div覆蓋覆蓋頂部
- 16. aws cloudwatch指標覆蓋/覆蓋
- 17. 用透明覆蓋物覆蓋div
- 18. 把一個覆蓋覆蓋div
- 19. 如何覆蓋已覆蓋的類
- 20. Facebook連接覆蓋區覆蓋Flash
- 21. 覆蓋畫布覆蓋在畫布上
- 22. 黃瓜覆蓋我的覆蓋
- 23. blockui覆蓋不覆蓋整個頁面?
- 24. 覆蓋/覆蓋功能內的功能
- 25. 覆蓋所有位的覆蓋箱
- 26. 覆蓋彩色
- 27. register_shutdown_function覆蓋
- 28. Android Motionevent覆蓋
- 29. 覆蓋func viewDidLoad
- 30. 覆蓋項
你問如何繪製一個自定義繪製控件焦點矩形,或如何看到被覆蓋的OnPaint中的結果看一個控件的設計時? – 2009-04-10 20:16:10