当前位置: 代码迷 >> C# >> 自个儿开发基于c#的垂直滚动条控件
  详细解决方案

自个儿开发基于c#的垂直滚动条控件

热度:104   发布时间:2016-05-05 04:00:57.0
自己开发基于c#的垂直滚动条控件

由于Visual Studio工具箱中自带滚动条控件外观太老,而且没有颜色外观属性可设置。 所以自己就试着开发一个垂直的滚动条,它可以用来控制TextBox的滚动。

由于代码比较多,源文件已经打包到网盘,链接:http://pan.baidu.com/s/1dDtn8sD                   

 

Release目录下生成的dll可以添加至工具箱

使用时需要设置的属性:        

        #region 滑动条最短长度        [System.ComponentModel.Browsable(true)]        [Localizable(true)]        [System.ComponentModel.Category("Appearance")]        [System.ComponentModel.DefaultValue(null)]        [System.ComponentModel.Description("滑动条最短长度")]        public int MinSlideBarLenght{get; set;}        #endregion

#region 要滑动的TextBox [System.ComponentModel.Browsable(true)] [Localizable(true)] [System.ComponentModel.Category("Appearance")] [System.ComponentModel.DefaultValue(null)] [System.ComponentModel.Description("要滚动的TextBox")] public TextBox TextBox{get; set;} #endregion

#region 滑动条被唤醒颜色 [System.ComponentModel.Browsable(true)] [Localizable(true)] [System.ComponentModel.Category("Appearance")] [System.ComponentModel.Description("滑动条被唤醒的颜色")] [System.ComponentModel.DefaultValue(null)] public Color WakedColor{get; set;} #endregion

#region 滑动条被按下颜色 [System.ComponentModel.Browsable(true)] [Localizable(true)] [System.ComponentModel.Category("Appearance")] [System.ComponentModel.DefaultValue(null)] [System.ComponentModel.Description("滑动条被按下的颜色")] public Color PressedColor{get;set;} #endregion

#region 鼠标进入滑动条颜色 [System.ComponentModel.Browsable(true)] [Localizable(true)] [System.ComponentModel.Category("Appearance")] [System.ComponentModel.DefaultValue(null)] [System.ComponentModel.Description("鼠标进入滑动条的颜色")] public Color EnterColor {get; set;} #endregion

 


 

例如:

在属性浏览器中设置:

 


 

设计器自动生成如下代码:

在Form类中:

  private MyControlLibrary.ScrollBar TextScrollBar;

在InitializeComponent()中:

            this.TextScrollBar.BackColor = System.Drawing.Color.White;            this.TextScrollBar.EnterColor = System.Drawing.SystemColors.ControlDark;            this.TextScrollBar.Location = new System.Drawing.Point(664, 44);            this.TextScrollBar.MinSlideBarLenght = 30;            this.TextScrollBar.Name = "TextScrollBar";            this.TextScrollBar.PressedColor = System.Drawing.SystemColors.ControlDarkDark;            this.TextScrollBar.Size = new System.Drawing.Size(10, 323);            this.TextScrollBar.TabIndex = 18;            this.TextScrollBar.TextBox = this.TextBox_Receive;            this.TextScrollBar.WakedColor = System.Drawing.SystemColors.ControlLight;

 


 

效果图:

 

1楼harrell
为楼主的分享精神点赞
  相关解决方案