2009-03-04 49 views
2

我有一個控制器,它在ToolStripControlHost中承載NumericUpDown並公開NumericUpDown的屬性。在功能上,這很好,但是當它放置在ToolStrip上時,它不適合與其他ToolStripItem s。如何使用現有的ToolStripRenderer繪製託管的NumericUpDown?

我想使用ToolStrip的現有ToolStripRenderer以類似於控制上的ToolStripComboBox es的方式繪製控件。我不想創建自定義ToolStripRenderer來做到這一點,因爲我希望使用該控件的其他人能夠將其與他們選擇的任何渲染器一起使用。

我已經嘗試在宿主控件類中和宿主控件類中使用OnPaintOnPaintBackground覆蓋並使用渲染器的繪圖方法,但我所能實現的只是在邊緣周圍有未繪製的區域;旋轉按鈕仍然以系統主題繪製。

如何使用現有的ToolStripRenderer來繪製託管NumericUpDown

回答

0

NumericUpDown類實際上只是作爲GDI一部分存在的公共控制類的包裝。根據是否爲應用程序啓用視覺樣式,底層通用控件將以兩種方式之一進行繪製。要覆蓋繪圖,您需要自己執行所有繪圖。你不能告訴控制你只想覆蓋按鈕或邊框。

自己進行所有繪圖比聽起來要困難得多。對不起,我不能提供簡單的解決方案,但我不認爲有一個簡單的解決方案。

+0

我想自己做所有的繪圖,但我想使用ToolStripRenderer的方法來做到這一點。 – Simon 2009-03-04 11:32:16

相關問題