none
DataGridView 可不可以永遠顯示捲軸 RRS feed

  • 問題

  • 請教 DataGridView 可不可以永遠顯示捲軸
    找不到這個屬性,只有是否要顯示,列超過控制項大小才顯示
    可是這樣,很醜,沒有捲軸時,旁邊會灰灰的~~
    2009年2月15日 下午 12:11

解答

  • 您可以透過下列[使用者控制項]方式處理:
    using System;  
    using System.Collections.Generic;  
    using System.Text;  
    using System.Windows.Forms;  
    using System.Drawing;  
     
    namespace WindowsFormsApplication1  
    {  
        class CustomDataGridView: DataGridView  
        {  
            public CustomDataGridView()  
                : base()  
            {  
                VerticalScrollBar.Visible = true;  
                VerticalScrollBar.VisibleChanged += new EventHandler(VerticalScrollBar_VisibleChanged);  
     
                HorizontalScrollBar.Visible = true;  
                HorizontalScrollBar.VisibleChanged += new EventHandler(HorizontalScrollBar_VisibleChanged);  
            }  
     
            void HorizontalScrollBar_VisibleChanged(object sender, EventArgs e)  
            {  
                if (!HorizontalScrollBar.Visible)  
                {  
                    int height = ClientRectangle.Height;  
                    HorizontalScrollBar.Location = new Point(0, ClientRectangle.Height - HorizontalScrollBar.Height);  
                    HorizontalScrollBar.Size = new Size(ClientRectangle.Width - VerticalScrollBar.Width, HorizontalScrollBar.Height);  
                    HorizontalScrollBar.Show();  
                }  
            }  
     
            void VerticalScrollBar_VisibleChanged(object sender, EventArgs e)  
            {  
                if (!VerticalScrollBar.Visible)  
                {  
                    int width = VerticalScrollBar.Width;  
                    VerticalScrollBar.Location = new Point(ClientRectangle.Width - width, 1);  
                    VerticalScrollBar.Size = new Size(width, ClientRectangle.Height - HorizontalScrollBar.Height);  
                    VerticalScrollBar.Show();  
                }  
            }  
        }  
    }  
     

    畫面會出現:

    微軟技術支援中心(CSS) - http://twitter.com/msdn_taiwan
    • 已提議為解答 Lolota Lee 2009年2月17日 上午 03:03
    • 已標示為解答 Lolota Lee 2009年2月20日 上午 01:25
    2009年2月17日 上午 02:45