关于清空件内容的问题.

yqzhanglei 2007-05-22 08:48:21
Private Sub s_ClearControl()
On Error GoTo Err_Msg
Dim ctl As control
Dim nCount As Integer
For Each ctl In Me.Controls
If TypeOf ctl Is TextBox Then
ctl.Text = ""
ElseIf TypeOf ctl Is DTPicker Then
ctl.value = Date
ElseIf TypeOf ctl Is ComboBox Then
ctl.ListIndex = -1
End If
Next
Exit Sub
Err_Msg:
MsgBox(Err.Description)
End Sub

上面这段代码是VB中用于我清空TextBox ,ComboBox 三种控件的内容及对DTPicker控件进行初使化.现在要升成VB.net 后 trl.value=date 和ctl.ListIndex = -1
提示不是System.Windows.Forms.Control控件
下面是升成后的代码.有一点点改动了.
Private Sub s_ClearControl()
On Error GoTo Err_Msg
Dim ctl As System.Windows.Forms.Control
Dim nCount As Short
For Each ctl In Me.Controls
If ctl.Name = "TextBox" Then
ctl.Text = ""
ElseIf ctl.Name = "DateTimePicker" Then
ctl.value = Today
ElseIf ctl.Name = "ComboBox" Then
ctl.ListIndex = -1
End If
Next ctl
Exit Sub
Err_Msg:
MsgBox(Err.Description)
End Sub
各位大大有什么好的办法帮忙解决一下的....
...全文
197 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
magicbacon 2007-05-22
  • 打赏
  • 举报
回复
晕死,明明是我一个人啊……不是不啊……难道……
yqzhanglei 2007-05-22
  • 打赏
  • 举报
回复
两位的都试过可以的.谢谢.
magicbacon 2007-05-22
  • 打赏
  • 举报
回复
用Ctype:

Public Class Form1

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.DateTimePicker1.Value = "#1990-9-10#"
Me.DateTimePicker2.Value = "#1991-9-10#"
Me.ComboBox1.Items.Add("11111")
Me.ComboBox1.Items.Add("22222")
Me.ComboBox1.SelectedIndex = 0
Me.ComboBox2.Items.Add("33333")
Me.ComboBox2.Items.Add("44444")
Me.ComboBox2.SelectedIndex = 0
Me.TextBox1.Text = "text"
Me.TextBox2.Text = "alse text"
End Sub

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim ctl As System.Windows.Forms.Control
For Each ctl In Me.Controls
If TypeOf (ctl) Is TextBox Then
ctl.Text = ""
ElseIf TypeOf ctl Is DateTimePicker Then
CType(ctl, DateTimePicker).Value = Today
ElseIf TypeOf ctl Is ComboBox Then
CType(ctl, ComboBox).SelectedIndex = -1
End If
Next ctl
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

End Class
magicbacon 2007-05-22
  • 打赏
  • 举报
回复
其实用CType应该可以的,但是我不太会用。
yqzhanglei 2007-05-22
  • 打赏
  • 举报
回复
重新定义一个变量用于赋值吗?,我去试试

magicbacon 2007-05-22
  • 打赏
  • 举报
回复
Imports System.Data
Imports System.Data.OleDb

Public Class Form1

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.DateTimePicker1.Value = "#1990-9-10#"
Me.DateTimePicker2.Value = "#1991-9-10#"
Me.ComboBox1.Items.Add("11111")
Me.ComboBox1.Items.Add("22222")
Me.ComboBox1.SelectedIndex = 0
Me.ComboBox2.Items.Add("33333")
Me.ComboBox2.Items.Add("44444")
Me.ComboBox2.SelectedIndex = 0
Me.TextBox1.Text = "text"
Me.TextBox2.Text = "alse text"
End Sub

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim ctl As System.Windows.Forms.Control
For Each ctl In Me.Controls
If TypeOf (ctl) Is TextBox Then
ctl.Text = ""
ElseIf TypeOf ctl Is DateTimePicker Then
Dim d As DateTimePicker = ctl
d.Value = Today
ElseIf TypeOf ctl Is ComboBox Then
Dim cb As ComboBox = ctl
cb.SelectedIndex = -1
End If
Next ctl
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
End Class

16,718

社区成员

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

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