zoukankan      html  css  js  c++  java
  • DataGridView控制之左右键控制水平滚动条

    我们都知道Winfrom中,在正常情况下,左右键并不能直接控制DataGridView的水平滚动条滚动,它只能控制选中单元的移动,但在有些情况下,我们需要通过左右键来实现一列一列的滚动,那么我们可以这样做:

    在ProcessCmdKey的重载方法中写:

     

    protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
            {
                
    if (keyData == Keys.Left)
                {
                    
    if (this.HorizontalScrollingOffset > 0)
                    {
                        
    if (this.FirstDisplayedScrollingColumnHiddenWidth != 0)
                        {
                            
    this.HorizontalScrollingOffset -= this.FirstDisplayedScrollingColumnHiddenWidth;
                        }
                        
    else
                        {
                            
    this.HorizontalScrollingOffset -= 2;
                            
    this.HorizontalScrollingOffset -= this.FirstDisplayedScrollingColumnHiddenWidth;
                        }
                    }
                    return true;
                }
                
    else if (keyData == Keys.Right)
                {
                    
    if (this.HorizontalScrollingOffset < this.HorizontalScrollBar.Maximum)
                    {
                        
    this.HorizontalScrollingOffset += this.Columns[this.FirstDisplayedScrollingColumnIndex].Width - this.FirstDisplayedScrollingColumnHiddenWidth;
                    }
                    return true;
                }


                
    return base.ProcessCmdKey(ref msg, keyData);
            }
  • 相关阅读:
    Nginx lingering_close延迟关闭
    Nginx 减少关闭连接的time_wait端口数量
    Tcp协议的keepalive功能
    Nginx 慢启动与拥塞窗口
    Nginx 优化缓冲区与传输效率
    linux 目录分类与文件操作
    Nginx 滑动窗口与缓冲区
    python 关键字yield
    模块与包
    面向对象
  • 原文地址:https://www.cnblogs.com/myjece/p/1341178.html
Copyright © 2011-2022 走看看