`
truelove12358
  • 浏览: 79965 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

winform VScrollBar ,HScrollBar的使用

 
阅读更多

最近项目里要写GDI+其中就有一个用外部ScrollBar代替 dataGridView1内部的ScrollBar的问题。

实现的方式是用自定义控件盖住dataGridView内部的ScrollBar。

本文主要讲:scrollBar的使用,达到的效果如图,外部的scrollBar能够和dataGridView或者系统的滚动条一样精确的滚动,一样精确的长度:

1 是dataGridView内部的滚动条,相当精确了,滚动到最右边正好所有数据都能显示出来,比例大概是: 拖动条的长度:scrollBar长度 = 显示出的数据的长度:所有数据的长度。

2.是我实现的外部的VScrollBar.基本满足上述的比例。

不需要这么精确的,只需要知道ScrollBar的属性以及如何简单使用的请移步:

http://blog.csdn.net/truelove12358/article/details/17309143

下面是实现的代码:

关键是如何设置属性及滚动事件,

 private void InitScrollBar()
        {
            hScrollBar1.Dock = DockStyle.Bottom;
            int count = dataGridView1.ColumnCount;
            int gridWidth = 0;
            for (int k=0; k < count; k++)
            {
                gridWidth += dataGridView1.Columns[k].Width;
            }
//关键代码位置
            hScrollBar1.Maximum = gridWidth;
            hScrollBar1.Minimum = 0;
            hScrollBar1.SmallChange = gridWidth / count;
            hScrollBar1.LargeChange = dataGridView1.Width - 5;//微调这里的 5

            this.dataGridView1.ScrollBars = ScrollBars.Both;
            //this.hScrollBarEx1.Scroll += new ScrollEventHandler(hScrollBarEx1_Scroll);
            this.hScrollBar1.Scroll +=new ScrollEventHandler(hScrollBar1_Scroll);

          }

        private void hScrollBar1_Scroll(object sender, ScrollEventArgs e)
        {//关键代码位置
           this.dataGridView1.HorizontalScrollingOffset = hScrollBar1.Value;          Application.DoEvents();
           
         }


分享到:
评论

相关推荐

    C# HScrollBar VScrollBar 水平滚动条美化皮肤控件

    在.NET Framework中,C#提供了一系列的控件用于构建用户界面,其中HScrollBar(水平滚动条)和VScrollBar(垂直滚动条)是常见的导航控件,用于浏览大范围的数据或内容。本文将深入探讨如何自定义C#中的HScrollBar和...

    winform 滚动条示例

    本示例将深入探讨如何在C# Winform应用中实现和使用滚动条,以便用户可以更轻松地控制视图。滚动条分为水平滚动条(Horizontal Scroll Bar, HScrollBar)和垂直滚动条(Vertical Scroll Bar, VScrollBar),它们都...

    C# winform 重绘滚动条

    为了自定义滚动条,我们需要覆盖`VScrollBar`或`HScrollBar`控件的`OnPaint`方法,并在其中添加自定义的绘制代码。首先,创建一个继承自`VScrollBar`或`HScrollBar`的新类: ```csharp public class ...

    winform触摸屏事件小例子

    为了实现这个功能,我们需要在Panel控件上添加一个滚动条(VScrollBar或HScrollBar),并将其关联到Panel的滚动属性。 1. 首先,确保在设计视图中添加了一个Panel控件和一个Vertical滚动条(VScrollBar)。设置...

    C# winform 自定义滚动条

    在WinForm中,我们通常使用`System.Windows.Forms.VScrollBar`或`System.Windows.Forms.HScrollBar`来创建垂直或水平滚动条。但若要自定义滚动条的外观和行为,我们就需要使用自绘(Custom Painting)技术。 1. **...

    winform 自定义滚动条可以修改拖块颜色与修改轨道颜色 轨道有两种样式:线条与矩形

    首先,滚动条在Winform中是由`VScrollBar`(垂直滚动条)和`HScrollBar`(水平滚动条)控件提供的。这些控件默认具有Windows操作系统的标准样式,但通过继承和重写一些关键方法,我们可以实现自定义外观。 1. **...

    winform命名规范

    - 滚动条使用`hscrollBar`和`vscrollBar`作为前缀,如`hsbImage`和`vsbImage`。 8. **计时器**: - 使用`tmr`作为Timer的前缀,如`tmrCount`。 9. **对话框**: - 对话框控件通常有特定的命名约定,例如`...

    WinForm命名规范

    - `HscrollBar`和`VscrollBar`可以表示水平和垂直滚动条,如`hsbhsbImage`和`vsbvsbImage`。 10. **计时器和对话框**: - `Timer`可以是`tmrtmrCount`,表示计数器;`DateTimePicker`用`dtpdtpStartDate`表示起始...

    C#--winform--常用控件大全.doc

    16、HScrollBar 控件和 VScrollBar控件的使用 13 17、OpenFileDialog 控件 13 18、SaveFileDialog 控件 14 19、FontDialog 控件 14 20、ColorDialog控件 14 21、PrintDialog控件和 PrintDocument 控件 15 22、用户...

    C#_实验三_Winform基本控件及程序应用

    【C# Winform基本控件及程序应用】实验主要涵盖了Winform界面开发中常见的控件使用和事件处理,旨在帮助学生深入理解C#编程中GUI(图形用户界面)的构建和交互。以下是对实验涉及的知识点的详细说明: 1. **控件...

    C# winform 控件命名规范

    20. **VscrollBar (vsb)** - **定义**:垂直滚动条控件。 - **示例**:`vsbImage` 21. **Timer (tmr)** - **定义**:定时器控件,用于定期执行任务。 - **示例**:`tmrCount` 22. **ImageList (ilst)** - ...

    C#的winform控件命名规范

    - `vsc` 用于垂直滚动条(VScrollBar) 此外,还可以结合控件的功能或它在界面中的作用来进一步细化命名。例如,一个用于显示消息的标签可以命名为`lblMessage`,一个用于保存操作的按钮可以命名为`btnSave`,...

    C#编码及控件命名规范

    - **水平滚动条(HscrollBar)**:使用前缀`hsb`,例如`hsbImage`。 - **垂直滚动条(VscrollBar)**:使用前缀`vsb`,例如`vsbImage`。 - **计时器(Timer)**:使用前缀`tmr`,例如`tmrCount`。 - **图像列表...

    C#命名规范(包括控件 及其变量名)

    * VScrollBar:vsb * Timer:tmr * ImageList:ilst * ToolBar:tlb * StatusBar:stb * OpenFileDialog:odlg * SaveFileDialog:sdlg * FontDialog:fdlg * ColorDialog:cdlg * PrintDialog:pdlg * ...

    C# 控件缩写大全

    2. **hsc (HScrollBar)**:水平滚动条控件,用于水平滚动。 3. **prg (PropertyGrid)**:属性网格控件,用于编辑和显示对象属性。 4. **spl (Splitter)**:分割器控件,用于调整容器大小。 5. **trb (TrackBar)**:...

    C#控件简写,规范代码

    在C#编程中,为了提高代码的可读性和编写效率,开发者通常会使用控件的简写形式。这些简写是根据控件的全称进行缩写,方便快速输入和理解。以下是一些常见的C#控件及其简写: 1. Button - btn:用于创建点击触发...

    常用控件-笔记

    5. **hscrollBar1**和**VScrollBar**:水平和垂直滑动条,用于浏览或调整内容。`Maximum`和`Minimum`分别设定范围的上限和下限,`value`属性表示当前位置。`scroll`事件在用户移动滚动框时触发,`ValueChanged`事件...

    C# for CSDN 乱七八糟的看不懂

    集合 集合的使用 集合可以看成是可以随意添加的数组,因此凡是在使用数组的场合,都可以 使用集合。而且集合的元素可以是任意对象,操作也比数组灵活的多。 使用集合时,必须注意集合的生命期问题。如果有两个集合 ...

    常用控件简写命名规范1

    在C#编程中,遵循一套清晰的命名规范...这些简写命名规范在C#编程中广泛使用,它们不仅帮助开发者快速识别变量和控件的用途,而且在团队协作中可以提高代码的一致性。遵循这些规范将使代码更加整洁,更易于理解和维护。

    C#编程控件工具。。。

    HScrollBar控件和 VScrollBar控件的使用 - **HScrollBar** 和 **VScrollBar** 控件用于水平或垂直滚动。 - **Value属性**:获取或设置当前值。 - **Minimum/Maximum属性**:设置最小值和最大值。 - **Small...

Global site tag (gtag.js) - Google Analytics