我正在爲語法編輯設計一個windows窗體控件。我知道那裏已經有很多了,比如Scintilla,FastColoredTextBox,Actipro Syntax Edito r,Avalon Edit等等。我有設計我自己的理由,所以這不是問題。C#.NET中可滾動控件的最佳實踐方法
到目前爲止,我一直在設計控件的外觀和感覺。它需要能夠垂直控制和水平控制。
我所遇到的選項是:
- 我的控制擴展ScrollableControl或ContainerControl
- 我的控制實例化一個HScrollBar和控制和他們相應
- 我的控制使用ScrollBarRenderer地方風俗繪製滾動條
我不確定哪些選項對我來說是最佳實踐。
我試過使用ScrollableControl和ContainerControl,但是這有一些非常不希望的結果,可能是因爲控件DisplayRectangle
正在滾動......我不想這樣。我想滾動一個自定義繪製的矩形,其中包含文本。我試着實例化HScrollBar和VScrollBar,但是這看起來很麻煩,並且不能很好地處理焦點,我也無法弄清楚如何正確捕獲VScroll和HScroll事件。
我嘗試使用ScrollBarRenderer,但這似乎是一個很大的努力只是爲了實現一個滾動條地獄,用這種方法,我仍然必須捕捉和處理適當的事件。
那麼我應該使用哪種方法,或者實際上我可能忽略了一種方法?
你很早就被困住了,接下來的41個問題更難解決。滾動條實際上並不滾動任何東西,它只是告訴你從哪裏開始繪製。 –
輪子發明家是**最好的**! – Bitterblue