2017-02-16 53 views
1

如何讓(自動滾動)垂直滾動條位於System.Windows.Forms.Panel的左側?C#/ winforms面板左側有垂直滾動條?

注意:我嘗試修改窗口樣式ala文本框question,它不起作用。

我試圖通過子類Panel和禁止在ctor中設置CreateParams.Style在ctor中,並通過重寫CreateParams getter來調整樣式。不行。

+0

[文本框與垂直滾動條左邊(的可能的複製http://stackoverflow.com/questions/ 14402428/textbox-with-vertical-scroll-on-the-left-side) –

+0

不是一個dup,已經試過了,無濟於事。 – CoderBrien

+0

他們喜歡這個世界的一些地方,比如中東國家。他們從右至左閱讀他們的字母表。將面板的RightToLeft屬性設置爲是。 –

回答

4

如果添加WS_EX_LEFTSCROLLBAR擴展樣式來控制它顯示在左側滾動條:

using System.Windows.Forms; 
public class ExPanel : Panel 
{ 
    private const int WS_EX_LEFTSCROLLBAR = 0x00004000; 
    protected override CreateParams CreateParams 
    { 
     get 
     { 
      var cp = base.CreateParams; 
      cp.ExStyle = cp.ExStyle | WS_EX_LEFTSCROLLBAR; 
      return cp; 
     } 
    } 
} 
+0

你確定嗎?正如我在帖子中所說的那樣,我嘗試了這一點,但這對我沒有任何作用。 – CoderBrien

+0

將該類複製並粘貼到您的解決方案並構建解決方案。然後將'ExPanel'的一個實例拖放到你的'',將'AutoScroll'設置爲true,然後通過添加一些內容使滾動條可見。運行該應用程序並查看結果。 –

+0

也不要錯過什麼,也說我的評論。 –