转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
[NET.VB]小问题集锦(供初学者参考)         ★★★★

[NET.VB]小问题集锦(供初学者参考)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1318 更新时间:2009/4/23 16:37:37

声明:

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字段
            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(M

[1] [2]  下一页


[VB.NET程序]GSM短信模块库函数,可以用VB,VC,调用简单实用  [办公软件]PowerPoint做交互课件之弃用VBA
[办公软件]VBA获取U盘、主板、CPU序列号和网卡MAC地址  [办公软件]VBA设置文件属性及加密源代码示例
[办公软件]VBA中初始化ADO连接的几种方法  [网络安全]“VB破坏者变种N”病毒摘要
[Web开发]ASP.NET上传文件到数据库VB版  [办公软件]在Excel中利用VBA实现多表单元格数据的读取与赋值…
[办公软件]使用Vba读取已关闭的Excel工作薄数据到当前工作表…  [办公软件]Excel编程基础之VBA文件操作详解
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台