CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  控件

请教如何把控件做为函数的参数传递

楼主jerryleo()2002-04-15 22:28:41 在 VB / 控件 提问

我想Enable/Disable指定Frame控件中的所有控件。下面是我的代码:  
   
  Private   Sub   EnableDisableFrameControls(ctl   As   Control,   IsEnabled   As   Boolean)  
   
        Dim   J   As   Integer  
         
        For   J   =   0   To   Controls.Count   -   1  
                On   Error   Resume   Next  
                If   Controls(J).Container   Is   ctl   Then  
                        Controls(J).Enabled   =   IsEnabled  
                End   If  
        Next   J  
   
  End   Sub  
   
  但是,这段代码却不能正确执行,因为传递过去的是Frame控件的Caption,而不是Frame控件。  
   
  我想请教一下,这段代码该如何修改才能正确执行?  
   
  多谢了! 问题点数:20、回复次数:2Top

1 楼sunbf(www.51-pass.com)回复于 2002-04-15 22:40:13 得分 0

Option   Explicit  
   
  Private   Sub   Form_Load()  
          EnableDisableFrameControls   Frame1,   False  
  End   Sub  
   
  Private   Sub   EnableDisableFrameControls(ctl   As   Control,   IsEnabled   As   Boolean)  
   
        Dim   J   As   Integer  
         
        For   J   =   0   To   Controls.Count   -   1  
                On   Error   Resume   Next  
                If   Controls(J).Container   Is   ctl   Then  
                        Controls(J).Enabled   =   IsEnabled  
                End   If  
        Next   J  
   
  End   Sub  
   
   
  Top

2 楼enmity(灵感之源)回复于 2002-04-15 22:55:54 得分 20

参考例子,没有判断容器是否为控件数组,请自行完成!  
   
  Private   Sub   Command1_Click()  
                   
          SetFrameState   Me,   Frame1,   False  
                   
  End   Sub  
   
   
  Private   Sub   SetFrameState(ByRef   frmParent   As   Form,   _  
                                                      ByRef   ctlContainer   As   Control,   _  
                                                      ByVal   blnIsEnabled   As   Boolean)  
   
          Dim   o_ctlItem   As   Control  
          Dim   o_intItems   As   Integer  
           
          On   Error   Resume   Next  
                   
          For   Each   o_ctlItem   In   frmParent.Controls  
                  With   o_ctlItem  
                          If   .Container.Name   =   ctlContainer.Name   Then  
                                .Enabled   =   blnIsEnabled  
                          Else  
                          End   If  
                  End   With  
          Next  
   
  End   Sub  
  Top

相关问题

  • 请问如何才能把控件做为函数的参数传递?
  • 请教各位控件比如(textbox,listview)如何作为函数参数传递?
  • 问:能不能把控件数组当参数传递给函数?
  • 传递函数做参数
  • 函数的参数传递数值!?
  • 函数的参数传递问题
  • perl 函数参数传递问题
  • 函数参数传递问题?
  • 回掉函数的参数的传递?
  • 函数参数传递问题

关键词

  • 控件
  • 代码
  • ctlitem
  • enabledisableframecontrols
  • isenabled
  • ctl
  • controls
  • sub
  • frame
  • enabled

得分解答快速导航

  • 帖主:jerryleo
  • enmity

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo