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);
            }
  • 相关阅读:
    [leetcode]_Search Insert Position
    [leetcode]_Merge Two Sorted Lists
    [leetcode]_Valid Parentheses
    喧闹中坚守底线-徘徊的行走在不知道路在何方的大地上。
    [leetcode]_Longest Common Prefix
    [leetcode]_Remove Nth Node From End of List
    [leetcode]_Roman to Integer
    [leetcode]_Palindrome Number
    策略模式(Strategy)
    面向对象
  • 原文地址:https://www.cnblogs.com/myjece/p/1341178.html
Copyright © 2011-2022 走看看