接着xiaowengang(海岛) 的代码
Dim Tstyle As New DataGridTableStyle
Dim DCstyle As DataGridColumnStyle
DCstyle = New DataGridTextBoxColumn '创建一个新列
With DCstyle
.MappingName = "勾序" ' 设置字段映射关系
.HeaderText = "勾序" '设置表头显示字符
.Width = 37 '设置列宽
End With
Tstyle.GridColumnStyles.Add(DCstyle)
DCstyle.Dispose()
写委托
addhandler DCstyle.widthchanged, new eventhandler(addressof 列宽改变赋常量的方法)
应该可以.
我用的方法不怎么好,不知会不会有问题,我继承控件DataGrid重写方法MouserDown
Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
Dim hti As System.Windows.Forms.DataGrid.HitTestInfo
hti = me.HitTest(e.X,e.Y);
If hti.Type = DataGrid.HitTestType.ColumnResize Then
Return
Else
MyBase.OnMouseDown(e)
End If
End Sub
Dim Tstyle As New DataGridTableStyle
Dim DCstyle As DataGridColumnStyle
DCstyle = New DataGridTextBoxColumn '创建一个新列
With DCstyle
.MappingName = "勾序" ' 设置字段映射关系
.HeaderText = "勾序" '设置表头显示字符
.Width = 37 '设置列宽
End With
Tstyle.GridColumnStyles.Add(DCstyle)
DCstyle.Dispose()