我有一個從DataGridView繼承的用戶控件。我重寫了OnRowPrePaint,OnRowPostPaint,OnCellPaint和其他一些內容,所以我可以根據需要繪製整個事物。除滾動條之外,一切都很精美。我如何攔截正在繪畫的滾動條並繪製自己的?C#:重寫DataGridView ScrollBars(自定義OnPaint)?
理想情況下,有一些數據結構包含滾動條本身的邊界以及實際上滾動滑塊的邊界。然後,我可以在這些位置繪製圖形圖層。
有沒有辦法做到這一點?看起來好像其他所有東西都是,所以我會想象有一種方法可以做到這一點......
這是不可能的,放棄一切希望。 – 2010-12-17 00:38:37
爲了增加漢斯所說的話:有一些黑客(如隱藏默認滾動條和繪製自己的),但這些都是*方式*太多的工作,以至於沒有任何理由。主要是,這並沒有想到,因爲控件使用標準的Windows滾動條,而不是它自己繪製的滾動條。我同意你應該放棄所有希望,除非*絕對必要*。 – 2010-12-17 01:24:49
不得不同意漢斯和科迪 - 痛苦的世界。可能不是一個非常有用的建議,但是當你需要這種靈活性時,WPF非常好。 – 2010-12-17 18:50:02