vb.net直线控件 vbnet直线控件( 二 )


' ADO Data 控件连接的是 Northwind 数据库的' Products 表 。新查询查找所有
' SupplierID = 12 的记录 。
Dim strQuery As String
strQuery = "SELECT * FROM Suppliers WHERE SupplierID = 12"
Adodc1.RecordSource = strQuery
Adodc1.Refresh
更改 DataSource
在运行时,可以将 DataSource 属性重新设置为一个不同的数据源 。例如,您可能具有若干个 ADO Data 控件 , 每个控件连接不同的数据库,或设置为不同的 RecordSource 属性 。可以简单地将 DataSource 从一个 ADO Data控件重新设置为另一个 ADO Data 控件:
' 将 DataSource 重新设置为一个连接到 Pubs 数据库的、
' 使用 Authors 表的 ADO Data 控件 。
Set DataGrid1.DataSource = adoPubsAuthors
重新绑定 DataSource
当将 DataGrid 控件用于一个远程数据库,诸如 SQLServer 时,可以改变表的结构 。例如 , 可以给这个表添加一个字段 。在这种情形下,可以调用Rebind 方法根据新的结构来重新创建该网格 。注意,如果已经在设计时改变了这个列的布局,DataGrid 控件将会试图重新创建当前的布局 , 包括任何空的列 。不过,通过首先调用 ClearFields 方法,可以强制该网格重新设置所有的列 。
从 DataGrid 返回值
在 DataGrid 被连接到一个数据库后 , 可能想要监视用户单击了哪一个单元 。可以使用 RowColChange 事件——而不是 Click 事件 。如下所示:
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
' 显示用户所单击的单元的文字、行和列的信息 。
Debug.Print DataGrid1.Text; DataGrid1.Row; DataGrid1.Col
End Sub
使用 CellText 和 CellValue 方法
当一个列使用 NumberFormat 属性设置格式后,CellText 和 CellValue 属性是很有用的 。NumberFormat 属性不必更改实际的数据格式就可以更改任何包含数字的列的格式 。例如,给定一个网格,其中包含一个名为 ProductID的、包含整数的列 。下面的代码将使 DataGrid 以"P-0000" 的格式来显示数据 。换句话说,尽管在 ProductID 字段中所包含的实际数值为 "3",但该网格所显示的值将是 "P-0003" 。
Private Sub Form_Load()
DataGrid1.Columns("ProductID").NumberFormat = "P-0000"
End Sub
要返回数据库中所包含的实际值,应使用 CellValue 方法,如下所示:
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
Debug.Print _
DataGrid1.Columns("ProductID").CellValue(DataGrid1.Bookmark)
End Sub
vb.net控件的BorderStyle设置为FixedSingle会出现黑线边框,可以更改他的颜色吗 比如改成红色线边框要么重写这个控件的 OnPaint 事件,判断 BorderStyle 属性为 FixedSingle 的时候自绘其他颜色 。
要么不重写,把 BorderStyle 设为 None , 直接在这个控件的 Paint 事件里自绘边框,例如:
Private Sub Label1_Paint(sender As Object, e As PaintEventArgs) Handles Label1.Paint
e.Graphics.DrawRectangle(Pens.Red, New Rectangle(Label1.DisplayRectangle.X, Label1.DisplayRectangle.Y, Label1.DisplayRectangle.Width - 1, Label1.DisplayRectangle.Height - 1))
End Sub
运行效果:
vb.net自定义控件mytest1是继承自什么类vb.net直线控件,通常应该继承自UerControlvb.net直线控件,虽然你这样也能编译通过vb.net直线控件,但实际上没有任何意义 。所以你先改了再说 。继承之后,编译 , 工具箱就会多这么个控件,拖动到Form1上,这样按钮下就不用再new了 。然后你再来问 。
VB.NET 画直线 问题 怎样让直线置顶(就是不被其它控件覆盖) 100分(希望详细些)如较麻烦,会追加分数这个必须用控件vb.net直线控件的方法解决vb.net直线控件 , VB6有个Line控件很容易解决这个问题,但是VB.NET没有vb.net直线控件了,幸好微软也想到vb.net直线控件了这个缺陷,提供免费的Visual Basic PowerPacks控件箱,其中有Line控件 。