VB.net控件數組中屬性的設置
时间:2011-12-08
来源:互联网
我的想法應該是這樣實現:
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged, RadioButton2.CheckedChanged, RadioButton3.CheckedChanged, RadioButton4.CheckedChanged, RadioButton5.CheckedChanged
Dim i%
For i = 0 To 4
If Panel1.Controls.Item(i).Checked = True Then
Panel2.Controls.Item(i).Focus()
End If
Next
End Sub
但現在的問題是這個Panel1.Controls.Item(i)沒有Checked的屬性,不知道該怎麽解決這個問題,希望各位大能幫忙解決一下。
還要說明一點的是,我只想用控件數組來實現,我知道一個控件一個控件去寫代碼也可以實現,但那有點蔴煩,最主要的是我想掌握這個知識點,或者是多了解一些這方面的知識。
小弟剛開始學VB.net,希望大家能夠多多指教,謝謝!
作者: wwq12311962 发布时间: 2011-12-08
该回复于2011-12-08 11:24:01被管理员删除
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
|
#2楼 得分:0回复于:2011-12-08 12:29:05
|
作者: limin_hy 发布时间: 2011-12-08
謝謝!
你的方法確實可以,我也想到了一個方法:
Dim i%
If sender.checked = True Then
i = sender.tag
Panel2.Controls.Item(i).Focus()
End If
但這需要設置tag這個屬性與控件TextBox的index屬性一致才行。
另外,爲什麽這個sender的後面只顯示Equals,GetHashCode,GetType,ReferenceEquals,ToString這幾個屬性呢,其它屬性爲什麽不顯示?
作者: btxdlibin 发布时间: 2011-12-08
作者: wwq12311962 发布时间: 2011-12-08
字符串截取一下,取出数字部分即可
然后 FindControl("TextBox"+之前截取的数字)
设置焦点即可
作者: Sandy945 发布时间: 2011-12-08
謝謝! 你的方法應該可行,但稍顯蔴煩,我們還是討論一下sender和e後的屬性的問題吧
作者: Sandy945 发布时间: 2011-12-08
作者: wwq12311962 发布时间: 2011-12-08
作者: Sandy945 发布时间: 2011-12-08
你需要进行类型转换
作者: wwq12311962 发布时间: 2011-12-08
object对象是个弱类型,它的属性很少,所以它可以接收各种类型的参数.
你在写代码的时候是不能确定他的具体对象类型.
只有在运行时接收到参数才后期绑定参数类型.
因为在这里你要传入的对象是RadioButton,你可以前期绑定类型.
所以sender参数你也可以这样定义:ByVal sender As RadioButton.
确认类型后你才可以使用属性.
作者: Sandy945 发布时间: 2011-12-08
比如现在有两个窗体form1和form2,在form1中有一个Label1控件和一个button1控件,在form2中有一个button1按钮控件,两个窗体中的代码如下:
form1中的代码:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form2.Show()
End Sub
form2中的代码:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
form1.Label1.Text = "AAA"
End Sub
现在的问题是,当单击form2中的Button1控件时,form1中的Label1控件没有任何反应,不知道这是什麽原因,我新建一个工程的话,就没有这个问题,只有在原来的工程中才有这个问题,我现在只有这种方法可以传值:
在公共模块中定义一个全局变量:
Public TempData as String
form1中的代码:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form2.ShowDialog()
Label1.Text=TempData
End Sub
form2中的代码:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TempData="AAA"
Me.Close
End Sub
不知道大家遇到过这个问题没有,大家帮帮忙看看什麽原因啊?
作者: btxdlibin 发布时间: 2011-12-08
作者: wwq12311962 发布时间: 2011-12-08
作者: btxdlibin 发布时间: 2011-12-08
作者: Sandy945 发布时间: 2011-12-08
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28