2017-07-10 41 views
0

我有一個其滾動條屬性設置爲兩者的datagrid。但是,當我打開它在我的屏幕大小18英寸的垂直滾動條不會出現。它出現在我調整窗口的寬度時。如何在屏幕中加載垂直滾動條?即使網格的滾動條屬性設置爲true,垂直滾動條也會丟失

+1

滾動條只出現在你的數據比你的DataGridView更寬或更高。 – Wudge

+0

我們如何解決這個問題? – Catwoman

+0

爲什麼你會顯示他們,即使他們不需要? – Wudge

回答

1

你必須創建一個自定義DGV它覆蓋的時候顯示或不自動的行爲,以顯示垂直滾動條

public class CustomDataGridView : DataGridView 
{ 
    public CustomDataGridView() : base() 
    { 
     VerticalScrollBar.Visible = true; 
     VerticalScrollBar.VisibleChanged += VerticalScrollBar_VisibleChanged; 
    } 

    private 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 - 1 - this.HorizontalScrollBar.Height); 
      VerticalScrollBar.Show(); 
     } 
    } 
} 

這是從這個來源採取:https://social.msdn.microsoft.com/Forums/windows/en-US/516851de-ac00-4442-b846-44734dcbd7f5/always-display-vertical-scrollbar-in-datagridview?forum=winformsdatacontrols