繁体   English   中英

自动调整窗口大小以适合datagradview vb.net

[英]autosize window to fit datagradview vb.net

在vb.net中是否可以自动调整窗体窗口的大小以将其宽度更改为datagridview宽度?

我一直在寻找一段时间,但只能找到如何调整datagridview本身的大小。

这是准备Datagridview的代码

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
   Dim rowvalue As String Dim cellvalue(20) As String 
   Dim streamReader As IO.StreamReader = New IO.StreamReader("test.csv") 

   While streamReader.Peek() <> -1 
     rowValue = streamReader.ReadLine() 
     cellvalue = rowvalue.Split(","c) 
     DataGridView1.Rows.Add(cellValue) 
   End While 

   streamReader.Close() 
 End Sub 

谢谢,

您是说包含gridview的主表单?

Me.Height = heightVal
Me.Width = widthVal

根据gridview大小的变化,可以使用上面的两个属性来调整主窗体的大小。 请记住,这将引起要更改的表单的位置,因此您还必须在运行时Me.Left进行影响( Me.LeftMe.Top )。

如果不是主要形式,则应将Me替换为给定的对象(例如Panel1 )。

-----------------示例

    Dim rightGap As Double = 10
    Dim bottomGap As Double = 10
    If (DataGridView1.Location.X + DataGridView1.Width > Me.Width + rightGap) Then
        Me.Width = 2 * Me.Width - (DataGridView1.Location.X + DataGridView1.Width) + rightGap
    End If
    If (DataGridView1.Location.Y + DataGridView1.Height > Me.Height + bottomGap) Then
        Me.Height = 2 * Me.Height - (DataGridView1.Location.Y + DataGridView1.Height) + bottomGap
    End If

我还在表格的右侧和底部都包括“间隙”。 此代码(或这些行中的内容)应足以确保在运行时更新Height / Width值而不会出现任何问题(gridview始终正确地位于表单内部)。 最后,您应该记住datagridview的大小不必与列/行之一匹配。 为了避免错误地调整大小,您还必须确保所有行的总宽度与datagridview的宽度匹配,而所有列的总高度与其高度匹配


暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM