VB.net 使用变量代替控件名
2015-07-08 21:59
369 查看
VB.net 使用变量代替控件名
我们在VB.net中进行程序设计的时候,会碰见需要控制多个同种类型控件的情况,例如下图有12个相同类型的group控件,里面又包含多个子控件。由于这些控件具有相同的功能,所以在程序写法上也趋于一致。但是,按照常规的设计方法,由于有8个button控件,那么我们就需要写8个button_click事件函数,这个我们的程序设计,带来了极大的不便。
既然,这些控件具有相同的功能,而且程序的写法上也趋于一直,我们有理由相信VB.net会给我们提供一个非常完美的解决方法,让我慢慢道来。
1、将8个button_click事件合为1个事件函数
我们首先将8个button控件进行命名,分别为butPort1_Update、butPort2_Update至butPort8_Update,双击其中1个button控件,进行如下修改,这样变将8个button控件的click事件函数合成了1个控件事件函数。
2、对产生click事件的控件进行区分
当我们把这些事件写在一起的时候,接着面临的问题就是区分由于哪个控件发生了click事件,而调用此函数,我们可以借助sender.name来解决。
Dim iPort As Int16 = Mid(sender.name, 8, 1)
3、用变量代替控件名
其它的控件如何操作呢?我们现在可以采取变量代替控件名的方法来具体实现,VB.net提供了Controls方法,通过它可以遍历当前窗体中所有的控件,但这个方法与原先的VB有区别,现在VB.net里面采用层次化的方法予以实现,就是说我们不能直接使用me.controls("")找到我们希望替代的控件,而必须要找到它的上一层父控件。说的直白一点,下图中有1个group控件,里面包含12个子控件,我们要访问这12个子控件,要用到的是它的父控件那个group控件,而不是我们的窗体。
程序实现:
a、给8个gruop控件的父控件命名为tabPort;
b、给8个gruop控件命名,分别为gupPort1、gupPort2至gupPort8;
c、给里面的子控件命名,本文仅以后三个控件为例,分别为txtPortX_Baud、txtPortX_StopBit、txtPortX_ParityBit,其中X表示1-8;
程序如下:
这样,我们就可以在后面的程序中,通过使用txtPort_Baud、txtPort_StopBit、txtPort_ParityBit变量来操纵相应的控件了。
原创性文章,转载请注明出处 http://user.qzone.qq.com/2756567163。
我们在VB.net中进行程序设计的时候,会碰见需要控制多个同种类型控件的情况,例如下图有12个相同类型的group控件,里面又包含多个子控件。由于这些控件具有相同的功能,所以在程序写法上也趋于一致。但是,按照常规的设计方法,由于有8个button控件,那么我们就需要写8个button_click事件函数,这个我们的程序设计,带来了极大的不便。
既然,这些控件具有相同的功能,而且程序的写法上也趋于一直,我们有理由相信VB.net会给我们提供一个非常完美的解决方法,让我慢慢道来。
1、将8个button_click事件合为1个事件函数
我们首先将8个button控件进行命名,分别为butPort1_Update、butPort2_Update至butPort8_Update,双击其中1个button控件,进行如下修改,这样变将8个button控件的click事件函数合成了1个控件事件函数。
2、对产生click事件的控件进行区分
当我们把这些事件写在一起的时候,接着面临的问题就是区分由于哪个控件发生了click事件,而调用此函数,我们可以借助sender.name来解决。
Dim iPort As Int16 = Mid(sender.name, 8, 1)
3、用变量代替控件名
其它的控件如何操作呢?我们现在可以采取变量代替控件名的方法来具体实现,VB.net提供了Controls方法,通过它可以遍历当前窗体中所有的控件,但这个方法与原先的VB有区别,现在VB.net里面采用层次化的方法予以实现,就是说我们不能直接使用me.controls("")找到我们希望替代的控件,而必须要找到它的上一层父控件。说的直白一点,下图中有1个group控件,里面包含12个子控件,我们要访问这12个子控件,要用到的是它的父控件那个group控件,而不是我们的窗体。
程序实现:
a、给8个gruop控件的父控件命名为tabPort;
b、给8个gruop控件命名,分别为gupPort1、gupPort2至gupPort8;
c、给里面的子控件命名,本文仅以后三个控件为例,分别为txtPortX_Baud、txtPortX_StopBit、txtPortX_ParityBit,其中X表示1-8;
程序如下:
这样,我们就可以在后面的程序中,通过使用txtPort_Baud、txtPort_StopBit、txtPort_ParityBit变量来操纵相应的控件了。
原创性文章,转载请注明出处 http://user.qzone.qq.com/2756567163。
相关文章推荐
- VBScript例子程序
- SecureCRT vbs脚本小记
- virtualbox安装ubuntu后共享文件夹自动挂载问题
- vc和vb区别
- dos批处理文件中使用vbs
- 从零开始学习VBA(日记)
- [翻译] VBFPopFlatButton
- cvBoostNextWeakClassifier(翻译)
- VB获取CAD属性值
- CvBoostType
- 无法找到脚本*.VBS的脚本引擎解决办法
- 抛弃vboot不格盘用grub4dos+firadisk安装Ghost版XP到VHD,轻松RAMOS!
- Base64编码的vbs实现
- VBS版BrainFuck语言解释器
- 使用vbs脚本uft8toansi进行文件编码转换
- VB获取本机网卡类型、IP、MAC地址
- 关于在64位win7下运行Virtualbox安装系统时出错(提示VBoxDD.DLL错误)的解决方案。
- VB 常用函数
- excel使用正则表达式
- Excel VBA 基础知识——用代码读写目标单元格