[NET.VB]小问题集锦(供初学者参考)
来源:互联网 发布:linux vi复制文件内容 编辑:程序博客网 时间:2024/06/11 10:32
声明:
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 FunctionEnd 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字段 Dim blnCol As New DataGridBoolColumn With blnCol .MappingName = mColumnInfo(i).Name .HeaderText = mColumnInfo(i).Name .Width = mColumnInfo(i).ColumnWidth(mDataGrid) .NullText = "" End With ts.GridColumnStyles.Add(blnCol) Else '非Boolean字段 Dim TxtCol As New DataGridTextBoxColumn With TxtCol .MappingName = mColumnInfo(i).Name .HeaderText = mColumnInfo(i).Name .Width = mColumnInfo(i).ColumnWidth(mDataGrid) .NullText = "" .ReadOnly = False '这里可以设置为只读 .Format = "" '这里可以设置显示格式,要显示日时分秒的就在这设 End With ts.GridColumnStyles.Add(TxtCol) End If Next mDataGrid.TableStyles.Clear() mDataGrid.TableStyles.Add(ts) '至于其它的功能,比如绑定事件之类的,后面再补充End Sub
'调用Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click MakeDataGridAutoExtend(Me.DataGrid1)End Sub
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>- [NET.VB]小问题集锦(供初学者参考)
- [NET.VB]小问题集锦(供初学者参考)
- [VB.NET]初学者问题集锦目录
- 一段简单的ASP.NET控件的绑定代码,供于初学者参考
- [VB.NET]小问题, textbox1
- 日文学习(仅供初学者参考)
- PHP随机验证码、供初学者参考
- [VB.NET]vb.net的一个小问题
- [VB.NET]ContextMenuStrip 的小问题
- 一个不能进入系统的小问题——供远程为别人解决问题时参考。
- Javascript入门(可供CSS/JS/XSS初学者参考)
- 《POPPIN滑步基本教学》--- 供初学者参考!!!
- linux的基本配置(供FC初学者参考)zz
- 我的入门装备——供初学者参考
- linux中的延时函数(部分)供初学者参考
- 原生AJAX调用四步曲:仅供初学者参考
- [VB.NET]初学者教程001
- [VB.NET]初学者教程002
- ASP.NET 2.0,写无限级下拉菜单不再难!!
- VB编写一个能显示百分比的自定义进度条控件
- .NET系统学习----Globalization & Resources
- Windows server 2003 NAT配置二日通
- 如何把你的应用程序作为服务来运行(1)
- [NET.VB]小问题集锦(供初学者参考)
- CMPP SP端 C# 实例
- 关于webservice的异步调用简单实例
- .NET 下的remoting使用。(TCP通道)
- .NET 2.0 基础类库中的范型——范型集合
- many-to-many(多对多)映射
- 一款开源的PDF打印机(VB源码)!
- 编译自己的资源文件编辑器(reseditor.exe)
- 原来Smart Client 是这样的