苏州三木软件科技有限公司

 找回密码
 立即注册
搜索
热搜: 活动
查看: 375|回复: 5

菜单按钮点击后修改控件报错

[复制链接]

56

主题

98

帖子

355

积分

中级会员

Rank: 3Rank: 3

积分
355
发表于 6 天前 | 显示全部楼层 |阅读模式



菜单按钮点击后运行下面的代码


              Public Sub 允许编辑
                        For Each ctrl As Control In Me.SmForm.ControlDictionary().Values
                                Dim        box As BoxDropDownBox=CType(ctrl,BoxDropDownBox)
                       
                                box.BackColor = Color.FromArgb(239, 239, 239)
                        Next
                End Sub



报错


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

106

主题

473

帖子

2953

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2953
QQ
发表于 6 天前 | 显示全部楼层
Dim        box As BoxDropDownBox=CType(ctrl,BoxDropDownBox)
这个返回对象有可能是返回空值的,你处理之前得先判断一下,另外Box开头的控件是一个组合控件,想引用右边的控件得使用BoxDropDownBox的BaseControl属性,具体可以参考:
http://www.sanmugrid.com/help/in ... %8E%A7%E4%BB%B6.htm

  1. Public Sub 允许编辑
  2.         For Each ctrl As Control In Me.SmForm.ControlDictionary().Values
  3.                 Dim box As BoxDropDownBox=CType(ctrl,BoxDropDownBox)
  4.                 If box IsNot Nothing Then
  5.                         box.BaseControl.BackColor= Color.FromArgb(239, 239, 239)
  6.                 End If
  7.         Next
  8. End Sub
复制代码


回复

使用道具 举报

56

主题

98

帖子

355

积分

中级会员

Rank: 3Rank: 3

积分
355
 楼主| 发表于 6 天前 | 显示全部楼层
还是报错代码改为下面就正确了
Public Sub 允许编辑
                        For Each ctrl As Control In Me.SmForm.ControlDictionary().Values                               
                                If TypeOf ctrl Is BoxDropDownBox Then
                                        Dim box As BoxDropDownBox = DirectCast(ctrl, BoxDropDownBox)
                                        box.BaseControl.BackColor = Color.FromArgb(239, 239, 239)
                                End If
                               
                        Next
                End Sub
回复

使用道具 举报

56

主题

98

帖子

355

积分

中级会员

Rank: 3Rank: 3

积分
355
 楼主| 发表于 6 天前 | 显示全部楼层
当控件用户背景颜色设置为Silver时候, 代码修改只是暂时的,鼠标进入控件,离开后又变回Silver了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

56

主题

98

帖子

355

积分

中级会员

Rank: 3Rank: 3

积分
355
 楼主| 发表于 6 天前 | 显示全部楼层
  box.BaseControl.BackColor    不是修改用户背景颜色 我想要修改用户背景颜色

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

106

主题

473

帖子

2953

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2953
QQ
发表于 6 天前 | 显示全部楼层
box.UserBackColor
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|苏州三木软件科技有限公司 ( 苏ICP备2022038390号 )

苏公网安备 32058502010732号

GMT+8, 2025-6-15 06:50 , Processed in 0.076511 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表