[NET.VB]小问题集锦(供初学者参考)
2008-04-11 16:36:00来源:互联网 阅读 ()
声明:
1、所有代码不注明出处的皆为本人所写
2、所有代码均在本机调试通过
3、本贴适用于初学者(本人也是)
4、欢迎各位仁兄斧正,提供想法或代码
5、本人力求每日补充内容
6、非本人同意,请勿转载本人所写的代码
7、各位说要不要上面第6条?
8、哈,声明是这样写的吗,一点都不严肃,也不规范
水如烟 2004.7.19
[控件类]
TreeView
1、给节点加个ToolTip(2004.7.19)
Private tmpTreeNode As TreeNode
Private mTreeViewToolTip As New ToolTip
Private Sub TreeView1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TreeView1.MouseMove
Dim mNode As TreeNode
mNode = Me.TreeView1.GetNodeAt(e.X, e.Y)
''''当前没节点
If mNode Is Nothing Then
mTreeViewToolTip.SetToolTip(Me.TreeView1, Nothing)
Exit Sub
End If
''''超过当前Node的边界
If mNode.Bounds.Right < e.X OrElse mNode.Bounds.Left > e.X Then
mTreeViewToolTip.SetToolTip(Me.TreeView1, Nothing)
Exit Sub
End If
''''同一个Node
If mNode Is tmpTreeNode Then
Exit Sub
End If
mTreeViewToolTip.AutomaticDelay = 500
mTreeViewToolTip.SetToolTip(Me.TreeView1, mNode.Text)
tmpTreeNode = mNode
End Sub
DataGrid
1、自适应各列长度(2004.7.19)
''''定义一个字段信息类
Private Class ColumnInfo
Public [Name] As String
Public [DataType] As String
Public MaxWidth As Integer = 0
Public Sub CompareStringLength(ByVal mString As String)
Dim mLength As Integer
mLength = System.Text.Encoding.Default.GetBytes(mString).Length()
If MaxWidth < mLength Then MaxWidth = mLength
End Sub
Public Function ColumnWidth(ByVal mDataGrid As DataGrid) As Integer
Dim mGraphics As Graphics = mDataGrid.CreateGraphics
Dim mColWidth As Single
mColWidth = mGraphics.MeasureString(New String(CType("A", Char), MaxWidth), mDataGrid.Font).Width 2
Return CType(mColWidth, Integer)
End Function
End Class
Private Sub MakeDataGridAutoExtend(ByVal mDataGrid As DataGrid)
''''判断mDataGrid数据源类型
''''如果绑定的是DataSet或DataViewManager或没有绑定任何数据源,则退出,
If TypeOf mDataGrid.DataSource Is System.Data.DataSet OrElse _
TypeOf mDataGrid.DataSource Is System.Data.DataViewManager OrElse _
mDataGrid.DataSource Is Nothing Then Exit Sub
''''以下分别考虑两种数据源,一是DataView,一是DataTable
Dim dt As DataTable
If TypeOf mDataGrid.DataSource Is System.Data.DataView Then
dt = CType(mDataGrid.DataSource, DataView).Table
Else
dt = CType(mDataGrid.DataSource, DataTable)
End If
''''取各字段信息
Dim mColumnInfo(dt.Columns.Count - 1) As ColumnInfo
Dim i As Integer = 0
Dim mColumn As DataColumn
For Each mColumn In dt.Columns
Dim mInfo As New ColumnInfo
With mInfo
.Name = mColumn.ColumnName
.DataType = mColumn.DataType.ToString
.CompareStringLength( mColumn.ColumnName)
End With
mColumnInfo(i) = mInfo
i = 1
Next
''''取各字段的最大长度
Dim mRow As DataRow
For Each mRow In dt.Rows
For i = 0 To dt.Columns.Count - 1
If Not IsDBNull(mRow(i)) Then
mColumnInfo(i).CompareStringLength(CType(mRow(i), String))
End If
Next
Next
''''建DataGridTableStyle
Dim ts As New DataGridTableStyle
ts.MappingName = dt.TableName
For i = 0 To dt.Columns.Count - 1
If mColumnInfo(i).DataType.Equals("System.Boolean") Then
''''这是Boolean字段
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash