以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]窗口设计时,能不能动态改变控件属性(已解决)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=10744)

--  作者:dlovef
--  发布时间:2011/6/21 14:14:00
--  [求助]窗口设计时,能不能动态改变控件属性(已解决)
如题,窗口设计时,能不能动态改变控件属性。譬如,传统编辑方式.table的系统例子中,在编辑窗口中,我希望在到达最后一条时,【最末条】按钮变为不可用,或者更改了内容后,【上一条】等按钮变为不可用。
有没有可能实现?
[此贴子已经被作者于2011-6-21 16:08:15编辑过]

--  作者:hhbb
--  发布时间:2011/6/21 14:16:00
--  

Enabled

逻辑型,返回或者设置控件是否可用。
默认为True,如果设为False,控件将不会对用户的操作作出响应,也就是不可用。

示例

例如窗口中有一个Button(按钮)的名称为“btnAdd”,希望该Button对于普通用户不可用,可以在窗口的AfterLoad事件中加入如下的代码:

If User.Type = UserTypeEnum.User Then
    e.Form.Controls(
"btnAdd").Enabled = False
End
If


--  作者:狐狸爸爸
--  发布时间:2011/6/21 14:26:00
--  

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目70.table


--  作者:dlovef
--  发布时间:2011/6/21 15:21:00
--  
谢谢hhbb和狐爸。狐爸的实现更接近于我想问的问题。
但是还有一点疑问,狐爸的例子中,判断代码是放在Table控件的PositionChanged中的。可是假如像传统编辑方式.table的系统例子中没有表控制,而是用窗口进行的显示,判断代码应该放在哪个事件中呢?

--  作者:狐狸爸爸
--  发布时间:2011/6/21 15:42:00
--  

一样,例如要根据表A判断,在表A的PositionChange事件判断,不过要加一行代码,判断此窗口是否打开:

 

 

If Forms("窗口1").Opened Then
    forms("窗口1").Controls("Button1").Enabled =(e.Table.Position > 0 )
    forms("窗口1").Controls("Button2").Enabled =(e.Table.Position < e.Table.Rows.Count -1)
    forms("窗口1").Controls("Button3").Enabled =(e.Table.Position < e.Table.Rows.Count - 1)
    forms("窗口1").Controls("Button4").Enabled =(e.Table.Position > 0)
End If


--  作者:dlovef
--  发布时间:2011/6/21 16:08:00
--  
3Q