[英]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.Left
& Me.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.