VB常用控件代码大全 持续更新(适用于初学者)

xunis 2009-09-18 05:01:25



我学习这些控件的时候 感觉浪费的时间太多了 所以整理了一些 时间不足 周末结束了在整理自己会用的控件

在这里也希望高手们把自己认为有必要的控件使用代码粘出来 谢谢大家

我也刚接触VB 3个月 里面难免有很多错误和复杂的代码 高手不要骂我啊

谢谢



Public Class 控件代码
'全局变量 - TrackBar1 改变图片大小使用
Dim l As Double
Dim t As Double

#Region "时间控件 标签控件 链接标签控件 日期控件 下拉菜单控件 "
'窗体的设置
Private Sub 控件代码_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'设置时间控件启用
Timer1.Enabled = True
'设置窗体不可改变大小
Me.AutoSizeMode = Windows.Forms.AutoSizeMode.GrowAndShrink
'设置窗体启动居中
Me.StartPosition = FormStartPosition.CenterScreen
'设置窗体启动最大/最小化
'Me.WindowState = FormWindowState.Maximized / FormWindowState.Minimized

'启动自动加载listbox1项目
'调用方法 加载listbox选项
SelectItems()

'設定DataGridView1滿屏
DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
'加载树形菜单视图
LoadTreeView()

'ComboBox1 启动加载选项
'启动清空 ComboBox1
ComboBox1.Items.Clear()
Me.ComboBox1.Items.Add("ComboBox1启动加载选项")
Dim strSql As String = "SELECT EmpID FROM VWEmployees"
Dim ds As DataSet = GetDataSet(strSql)
If ds.Tables.Item(0).Rows.Count = 0 Then
MessageBox.Show("资料不存在")
Else
For i As Integer = 0 To ds.Tables.Item(0).Rows.Count - 1
Me.ComboBox1.Items.Add(ds.Tables.Item(0).Rows(i).Item(0))
Next
ComboBox1.SelectedIndex = 0
End If

'记录画面起始值 - 距左侧 顶部的距离
l = PictureBox1.Location.X.ToString()
t = PictureBox1.Location.Y.ToString()

End Sub

'时间控件的设置
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
TextBox1.Text = Now & " 系统时间"
End Sub

'链接标签的用法 - 两种打开方式
Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
'启动的是默认浏览器 - 推荐使用
System.Diagnostics.Process.Start("http://www.baidu.com/")
'Shell("explorer.exe http://www.baidu.com/")
End Sub

#End Region
...全文
8247 69 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
69 条回复
切换为时间正序
请发表友善的回复…
发表回复
asyom 2012-10-14
  • 打赏
  • 举报
回复
真是牛人啊
weny4213 2012-10-03
  • 打赏
  • 举报
回复
真的是好人,只是不知如何下载学习学习?
浩峰 2012-07-18
  • 打赏
  • 举报
回复
好东西 , 到时做出来和大家分享啊
lovezx1028 2010-04-02
  • 打赏
  • 举报
回复
hen hao a ..xuexi la ..
czhihong 2009-11-12
  • 打赏
  • 举报
回复
没VC的
bl_song 2009-11-12
  • 打赏
  • 举报
回复
有没有c#版本的!
mingyicz 2009-11-11
  • 打赏
  • 举报
回复
此贴必火!
benqlch 2009-10-30
  • 打赏
  • 举报
回复
顶!
liuyilin888 2009-10-13
  • 打赏
  • 举报
回复
"SELECT EmpID FROM VWEmployees"
数据库文件能否提供下
xunis 2009-10-13
  • 打赏
  • 举报
回复
[Quote=引用 58 楼 liuyilin888 的回复:]
直接发源文件不好吗?
[/Quote]

根据图像和代码对照的就可以找到啊

上面是一个无聊瞎琢磨的报表的例子(纯属好玩 没技术含量) 呵呵 先把结果输入到了textbox里面 然后打印保存成txt的
xunis 2009-10-13
  • 打赏
  • 举报
回复

textbox 中的样子


txt文本框中的样子




Imports System.Text
Imports System.Collections.Specialized
Public Class 报表
#Region "报表"
Dim le() As Integer = {8, 6, 3, 18, 20, 3, 7, 10, 6} 'get各字段的MaxLength
'报表名 操作人
Dim title() As String = {"员工信息列表", "xunis"} '---- "xunis" 替换为 enterman
'数据表头名
Shadows top() As String = {"员工ID", "员工姓名", "性别", "身份证号", "出生年月", "年龄", "部门编号", "部门", "上级部门"}
'打印部分
Private Sub btnSa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSelect.Click

'栏位名的字节长度与数据的最长长度做比较 取较大值 以保证数据不会溢出表格
For i = 0 To top.Length - 1
If System.Text.Encoding.Default.GetBytes(top(i)).Length > le(i) Then
le(i) = System.Text.Encoding.Default.GetBytes(top(i)).Length
End If
Next


'执行查询
Try
Dim p As Double = 0
' 用StringBuilder 拼SQL语句
Dim strStr As New StringBuilder("select")
strStr.Append(" top")
strStr.Append(" 10")
strStr.Append(" *")
strStr.Append(" from")
strStr.Append(" VWEmployees")
'等同于
'Dim strSql As String = "SELECT top 20 * FROM VWEmployees"

Dim ds As DataSet = GetDataSet(strStr.ToString)
If ds.Tables.Item(0).Rows.Count = 0 Then
MessageBox.Show("资料不存在")
Else
TextBox1.Text = ""

'打印标题
Dim c = 0
For i = 0 To le.Length - 1
c += le(i) + 3 '计算数据行总长度
Next
For i = 0 To CInt((c) / 2) '寻找打印标题的位置
TextBox1.Text = TextBox1.Text & " "
Next
TextBox1.Text = TextBox1.Text & (title(0)) & vbCrLf

'---------------------------------------------------------------------------------------------------------------------------------------
'--------主体数据部分
'---------------------------------------------------------------------------------------------------------------------------------------
'打印分割线
For k As Integer = 0 To top.Length - 1 '数据的列数
TextBox1.Text = TextBox1.Text & "___" & len2("_") '调用 len2()控制长度
Next
TextBox1.Text = TextBox1.Text & "_" & vbCrLf '每输完一行 回车

'打印表头
For k As Integer = 0 To top.Length - 1 '数据的列数
TextBox1.Text = TextBox1.Text & " | " & len1(top(k)) '调用 len1()控制输出栏位名
Next
TextBox1.Text = TextBox1.Text & " |"
TextBox1.Text = TextBox1.Text & vbCrLf '每输完一行 回车

'打印分割线
For k As Integer = 0 To top.Length - 1 '数据的列数
TextBox1.Text = TextBox1.Text & "_|_" & len2("_") '调用 len2()控制长度
Next
TextBox1.Text = TextBox1.Text & "_" & "|" & vbCrLf '每输完一行 回车

'打印主体数据
For j As Integer = 0 To ds.Tables(0).Rows.Count - 1 '数据的行数
For k As Integer = 0 To ds.Tables.Item(0).Columns.Count - 1 '数据的列数 ds.Tables(0).Columns.Count - 1
TextBox1.Text = TextBox1.Text & " | " & len1((ds.Tables(0).Rows(j)(k).ToString)) '调用 len1()控制输出长度方法
Next
TextBox1.Text = TextBox1.Text & " |"
TextBox1.Text = TextBox1.Text & vbCrLf '每输完一行 回车
Next

'打印分割线
For k As Integer = 0 To top.Length - 1 '数据的列数
TextBox1.Text = TextBox1.Text & "_|_" & len2("_") '调用 len2()控制长度
Next
TextBox1.Text = TextBox1.Text & "_" & "|" & vbCrLf '每输完一行 回车
'---------------------------------------------------------------------------------------------------------------------------------------
'--------主体数据部分结束
'---------------------------------------------------------------------------------------------------------------------------------------

'打印记录人
For i = 0 To c - Now.ToShortDateString.Length - 7
TextBox1.Text = TextBox1.Text & " "
Next
TextBox1.Text = TextBox1.Text & "制作人:" & (title(1)) & vbCrLf
For i = 0 To c - Now.ToShortDateString.Length - 7
TextBox1.Text = TextBox1.Text & " "
Next
TextBox1.Text = TextBox1.Text & "时间: " & Now.ToShortDateString.ToString & vbCrLf
End If
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub

'限制数据长度
Dim p As Double = -1
Public Function len1(ByVal e As String) As String
Try
p += 1
Dim x As Integer = p Mod 9 ' 读取长度
For i As Integer = 0 To le(x)
If System.Text.Encoding.Default.GetBytes(e).Length < le(x) Then '所有字符串转换成字节形式比较
e = e.ToString & " "
End If
Next
Return e
Catch ex As Exception
MsgBox(ex.ToString())
End Try
End Function

'限制表格线长度
Dim l As Double = -1
Public Function len2(ByVal e As String) As String
Try
l += 1
Dim x As Integer = l Mod 9 ' 读取长度
For i As Integer = 0 To le(x)
If System.Text.Encoding.Default.GetBytes(e).Length < le(x) Then
e = e.ToString & "_"
End If
Next
Return e
Catch ex As Exception
MsgBox(ex.ToString())
End Try
End Function

'修改txtRead 的东西保存
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
SaveFileDialog1.Filter = "文本文件(*.txt)|*.txt"
If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
System.IO.File.WriteAllText(SaveFileDialog1.FileName, Me.TextBox1.Text, System.Text.Encoding.GetEncoding("gb2312")) '如果要覆盖原有文件内容,就把AppendAllText换成WriteAllText
'如果要覆盖原有文件内容,就把AppendAllText换成WriteAllText
End If
End Sub

'回到起始页
Private Sub btnIncept_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIncept.Click
'控件代码.Visible = True
控件代码.Show()
Me.Visible = False
End Sub
#End Region

End Class
liuyilin888 2009-10-10
  • 打赏
  • 举报
回复
直接发源文件不好吗?
CONGCONG1105 2009-10-02
  • 打赏
  • 举报
回复
留记号,谢谢分享
waterzouzou 2009-09-29
  • 打赏
  • 举报
回复
谢谢分享,辛苦
xunis 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 47 楼 zlylm 的回复:]
谢谢分享
楼主辛苦了
[/Quote]
系统有自带的 你还是用自带的吧 我写的一拉就报错 我在研究好了上传 有谁写好了 可以分享下
sky0417 2009-09-29
  • 打赏
  • 举报
回复
收藏
Daimon 2009-09-29
  • 打赏
  • 举报
回复
謝謝了,我也收藏了
dylike 2009-09-29
  • 打赏
  • 举报
回复
版主不推荐真是不够意思
xunis 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 54 楼 wo8352490123 的回复:]
  DataGridView里面的出生日期,在下面修改或者添加时,用combox实现的吗?如何实现的?
[/Quote]

那不是combobox 是 DateTimePicker 控件 你看下代码就清楚了
wo8352490123 2009-09-29
  • 打赏
  • 举报
回复
DataGridView里面的出生日期,在下面修改或者添加时,用combox实现的吗?如何实现的?
加载更多回复(49)

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧