簡體   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