C#/ winforms面板左侧有垂直滚动条?

Cod*_*ien 2 .net c# scrollbar winforms

如何获得(自动滚动)垂直滚动条在左侧System.Windows.Forms.Panel?

注意:我尝试修改文本框问题的窗口样式,但它不起作用。

我尝试通过Panel在ctor中进行子类化和设置CreateParams.Style,在ctor中进行设置,以及通过重写CreateParamsgetter来调整样式。不行

Rez*_*aei 5

如果您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;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

另外请记住,将RightToLeft属性设置为to Yes可以为您解决问题,但是由于该RightToLeft属性是环境属性,因此面板的所有子级也将继承该值,并且从右到左。我在此答案中分享的只是在左侧显示滚动条而不影响RightToLeft。