2017-07-10 38 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