如果是这个意思
下面的过程就是让第一列的宽度每次缩短一半
Private Sub SplitContainer1_SplitterMoved(ByVal sender As System.Object, ByVal e As System.Windows.Forms.SplitterEventArgs) Handles SplitContainer1.SplitterMoved
Static firstSplitterMoved As Boolean
If firstSplitterMoved = False Then
firstSplitterMoved = True
Exit Sub
End If
DataGridView1.Columns(0).Width /= 2
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim SplitContainer1 As New SplitContainer
SplitContainer1.Dock = DockStyle.Fill
Me.Controls.Add(SplitContainer1)
Dim PictureBox1 As New PictureBox
PictureBox1.Dock = DockStyle.Fill
PictureBox1.BackColor = Color.LightCyan
SplitContainer1.Panel1.Controls.Add(PictureBox1)
Dim DataGridView1 As New DataGridView
DataGridView1.Dock = DockStyle.Fill
DataGridView1.BackgroundColor = Color.White
For i As Integer = 0 To 10
DataGridView1.Columns.Add("Column" + i.ToString, "Column" + i.ToString)
Next
For i As Integer = 0 To 100
Dim item(10) As String
For j As Integer = 0 To 10
item(j) = String.Format("Cell({0},{1})", i.ToString, j.ToString)
Next
DataGridView1.Rows.Add(item)
Next
SplitContainer1.Panel2.Controls.Add(DataGridView1)
End Sub