乐鱼手机站入口-乐鱼online(中国)





  • 乐鱼手机站入口-乐鱼online(中国)

    HScrollBar1和(hé)HScrollBar1在(zài)DataGridView1中的简单使用

    发布(bù)于(yú): 2018-07-20    浏览: 4424    作者:Yang

    以下(xià)是这(zhè)两个控件使用的关键代码:

    privatevoid FrmCustomerManagement_Load(object sender, EventArgs e)

            {

    dataGridView1.ScrollBars= ScrollBars.None;//关datagridviwe自带滚动(dòng)条

                vScrollBar1.Maximum =dataGridView1.Rows.Count - 1;

                vScrollBar1.Minimum = 1;

                vScrollBar1.SmallChange = 1;

                vScrollBar1.LargeChange = 1;  //Large随(suí)便了,我(wǒ)都设定的是1


                hScrollBar1.Dock =DockStyle.Bottom;

                int count =dataGridView1.ColumnCount;

                int gridWidth = 0;

                for (int k = 0; k < count; k++)

                {

                    gridWidth +=dataGridView1.Columns[k].Width;

                }

                //关键代码(mǎ)位(wèi)置

                hScrollBar1.Maximum = gridWidth;

                hScrollBar1.Minimum = 0;

                hScrollBar1.SmallChange = gridWidth/ count;

                hScrollBar1.LargeChange =dataGridView1.Width - 5;//微调(diào)这里的 5

    this.dataGridView1.MouseWheel += newMouseEventHandler(OnMouseWheel);//容器获得焦(jiāo)点的状况(kuàng)的滑动鼠标事件

    }

    //鼠标滑轮(lún)事件

            void OnMouseWheel(object sender,MouseEventArgs e)

            {

                if (e.Delta > 0)

                {

                    if ((vScrollBar1.Value - 1)< vScrollBar1.Minimum)

                    {

                        vScrollBar1.Value =vScrollBar1.Minimum;

                    }

                    else

                    {

                        vScrollBar1.Value -= 1;

                    }

                }

                else

                {

                    if ((vScrollBar1.Value + 1)> vScrollBar1.Maximum)

                    {

                        vScrollBar1.Value =vScrollBar1.Maximum;

                    }


                    else

                    {

                        vScrollBar1.Value += 1;

                    }

                }

               //MessageBox.Show(vScrollBar1.Value.ToString());

                vScrollBar1_Scroll(null, null);

               

           }

    //控件(jiàn)的scrill事件

            private void vScrollBar1_Scroll(objectsender, ScrollEventArgs e)

            {

               dataGridView1.FirstDisplayedScrollingRowIndex = vScrollBar1.Value;

            }


            private void hScrollBar1_Scroll(objectsender, ScrollEventArgs e)

            {

               this.dataGridView1.HorizontalScrollingOffset = hScrollBar1.Value;Application.DoEvents();

           }

    整个实现思路(lù)就是先(xiān)设置控件的(de)maxmum和minmum,也就是其控件所(suǒ)代表的范围(wéi),然后设置LargeChange,也就是滚动大小

    vScrollBar1控(kòng)件是没滑动控件获取(qǔ)它(tā)的value值,然后根据value值定义dataGridView1的显示的第一(yī)行的下标。

    hScrollBar1控件也是根据其value值设置dataGridView1的水平滚动(dòng)的像素数。

    其中的OnMouseWheel方法(fǎ)是(shì)监控鼠标的上下滑动,然后取值再执(zhí)行scroll时间实现滚动效(xiào)果。



    下为完(wán)成图(tú):

    长(zhǎng)沙网站(zhàn)设计|长沙手机网站|长沙软件公(gōng)司|湖南软件开发|长沙软件定制|长沙软件开发|湖南软件公司(sī)|长沙微(wēi)信小(xiǎo)程序|长沙(shā)网络公司|长沙软(ruǎn)件外包公司|长沙竞价托管(guǎn)

    长沙网站设计|长沙手机网(wǎng)站|长沙软件公司|湖南软件(jiàn)开发(fā)|长沙(shā)软件定(dìng)制|长沙(shā)软件开发|湖南软件公司|长(zhǎng)沙微信(xìn)小程序|长沙网(wǎng)络公(gōng)司|长沙软(ruǎn)件外包公司|长沙竞价托管




    文章内容来(lái)自网络(luò),版权归原作者所有,如有侵权请联系管理员删除。

    在线客服(fú)

    乐鱼手机站入口-乐鱼online(中国)

    乐鱼手机站入口-乐鱼online(中国)