| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1948 人关注过本帖
标题:求指点:image当变量为真时显示为假时不显示
只看楼主 加入收藏
zh0920
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2016-7-20
结帖率:0
收藏
已结贴  问题点数:20 回复次数:11 
求指点:image当变量为真时显示为假时不显示
Private Sub Form_Load()
    MyTID = 1           ' Reset Transaction ID
    cmdConnect.Value = True
    cmdAddGroup.Value = True
    CheckGroupActive.Value = 1
    cmdAddItem.Value = True
    elec1 = 1
    Call cmdWriteAsync_Click
    Call cmdReadAsync_Click
End Sub

Private Sub txtChangeVal_Change(Index As Integer)
    If elec1 = True Then
        Im1.Visible = True
        Im2.Visible = True
        Im4.Visible = True
        P2.Enabled = True
        P2.Visible = True
    Else
        Im1.Visible = False
        Im2.Visible = False
        Im4.Visible = False
        P2.Visible = False
    End If

End Sub
请教问题:在运行Form_load时elec1为TRUE,Sub txtChangeVal_Change中的IM1 IM2(image)默认不显示,当elec1为TRUE时显示为False时不显示,但这段代码无法实现,请指教下究竟错在哪里?
2016-07-28 22:25
zh0920
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2016-7-20
收藏
得分:0 
没人指点一下吗?
2016-07-29 08:26
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:7 
elec1 = 1 会触发 Private Sub txtChangeVal_Change(Index As Integer)?
 你这个直接在窗口设计界面下修改visible属性,或者把Im1.Visible = False这些直接放在Form_Load中即可
2016-07-29 08:35
zh0920
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2016-7-20
收藏
得分:0 
这个elec1在模块里定义的全局变量
2016-07-29 11:04
zh0920
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2016-7-20
收藏
得分:0 
而且这段代码,放到Load或者Change都不行
2016-07-29 11:14
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:0 
[b] 在运行Form_load时elec1为TRUE,Sub txtChangeVal_Change中的IM1 IM2(image)默认不显示

都说了你除非在界面设计的时候就把IM1 IM2(image)的visible属性设置为false。  
要不然就是在代码中实现,  
1、直接在Form_load 中加入Im1.Visible = False。
2、在其他函数或者事件中加入,但是前提是Form_load 发生过程中需要触发这个事件或者调用函数。 你也是这么做的,放在txtChangeVal_Change中了,但是没有触发txtChangeVal_Change。所以IM1 IM2应该是显示的。

上面只能解决IM1 IM2(image)默认不显示的问题

,当elec1为TRUE时显示为False时不显示,但这段代码无法实现,请指教下究竟错在哪里?

而IM1 IM2根据elec1变化改变显示状态,这个需要其他的代码实现。需要两个条件: 1. elec1的值发生变化,这个请问你在什么地方?? 2.触发一个事件或者调用一个函数,判断之后修改visible属性。 这个你放在txtChangeVal_Change中了。

要是看不明白我无语了,你也不用再来问了。把VB最基本的东西再好好学习一下,要不再跟你说也白说
2016-07-29 17:09
zh0920
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2016-7-20
收藏
得分:0 
Private Sub Form_Load()
    MyTID = 1           ' Reset Transaction ID
    cmdConnect.Value = True
    cmdAddGroup.Value = True
    cmdAddItem.Value = True
    CheckGroupActive.Value = 1
    txtChangeVal(11).Text = Format(txtChangeVal(11).Text, "000")
    elec1 = True
    cmdWriteAsync_Click
    If elec1 = True Then Im1.Visible = True
    If Val(txtChangeVal(5).Text) = False Then Im1.Visible = False
    If Val(txtChangeVal(5).Text) = False Then Im2.Visible = False
    If Val(txtChangeVal(5).Text) = False Then Im4.Visible = False
    cmdWriteAsync_Click
End Sub
2016-07-29 17:14
zh0920
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2016-7-20
收藏
得分:0 
回复 7楼 zh0920
界面设计的时候已经将visible设置成了False,按照你说的,将代码放到了form_load里面,还是一点办法没有
后来又放到Change里面,一样的不显示,唉,看来参这个论坛报的期望值高了,我再想别的办法吧
2016-07-29 17:17
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:7 
txtChangeVal 是不是文本框数组控件,那么在 Private Sub txtChangeVal_Change(Index As Integer) 事件中,是那个数组控件发生变化时触发该事件,不可能是所有数组控件变化是均触发该事件吧?
根据你7楼的回复,好像是 txtChangeVal(11) 吧,那么我认为:
程序代码:
Private Sub txtChangeVal_Change(Index As Integer)
    Dim X As Integer
    X = Index
If X = 11 Then   '也可以 If X = 10 Or X = 11 Or X = 12 Or ...... Then
    If elec1 = True Then
        Im1.Visible = True
        Im2.Visible = True
        Im4.Visible = True
        P2.Enabled = True
        P2.Visible = True
    ElseIf elec1 = False Then
        Im1.Visible = False
        Im2.Visible = False
        Im4.Visible = False
        P2.Visible = False
    End If
End If
End Sub

另外 If Val(txtChangeVal(5).Text) = False Then 这个语句是否正确,有待探讨。
 Val(txtChangeVal(5).Text) 是转换为数字类型,数字类型不是逻辑类型(Boolean)变量,不能是 True 或 False
你如果需要判断是不是数字,应该是:  If IsNumeric(txtChangeVal(5).Text) = False Then ,IsNumeric函数是判断一个变量是不是数字的函数。


[此贴子已经被作者于2016-8-4 13:14编辑过]


请不要选我!!!
2016-07-29 17:45
syx54
Rank: 2
等 级:论坛游民
帖 子:11
专家分:18
注 册:2008-8-12
收藏
得分:7 
Private Sub txtChangeVal_Change(Index As Integer)
这个事件是什么时候触发的?
你在窗体的Load过程里,它会触发吗?
2016-08-02 11:10
快速回复:求指点:image当变量为真时显示为假时不显示
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028541 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved