为何一下代码没有反映呢?

houguojun2010 2017-12-02 01:44:51
Private Sub Command8_Click()
If Command8.Caption = "确定" Then
Text2.Locked = True
Command8.Caption = "修改"
ElseIf Command8.Caption = "修改" Then
Text2.Locked = False
Command8.Caption = "确定"
End If
...全文
420 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_41788970 2018-03-05
  • 打赏
  • 举报
回复
If Command2.Caption = "保存" Then Command2.Caption = "修改" Command1.Enabled = False Text5.Enabled = False Text10.Enabled = False Text2.Enabled = False Command3.Enabled = False Command10.Enabled = True MSFlexGrid1.Enabled = False MSFlexGrid1.BackColor = &H8000000F Command10.SetFocus ElseIf Command2.Caption = "修改" Then Command2.Caption = "保存" Command1.Enabled = True Command3.Enabled = True Text5.Enabled = True Text10.Enabled = True Text2.Enabled = True Command10.Enabled = False 这样就应该可以了,你把汉字应该是写错了
houguojun2010 2018-03-05
  • 打赏
  • 举报
回复
谢谢大家,已经解决
赵4老师 2017-12-11
  • 打赏
  • 举报
回复
无单步对应底层指令(P-代码或汇编指令或各种VM指令或……),不分析。
熊孩子开学喽 2017-12-09
  • 打赏
  • 举报
回复
引用 8 楼 Chen8013 的回复:
[quote=引用 7 楼 WallesCai 的回复:] 不讲什么整体逻辑如何安排处理, (虽然我认为存在问题的可能性非常大) 光就这段代码换我来写的话是这样的: Private Sub Command8_Click() Text2.Locked = Not Text2.Locked Command8.caption = IIf( Text2.Locked, "修改", "确定") End Sub 你只要在窗体设计的时候设置好Command的Caption属性和Text2的Locked属性即可
你这个代码,换我肯定不会用。 因为:多次、重复使用“对象属性”Text2.Locked; 用了IIf( )函数。 如果要简单点,我会采用bakw的方案。 若从我自己的想法出发: 状态是用Long类型的模块级变量标识的(肯定不会用“文本比较”的方式来判断),处理流程用If……Else结构。 IIf( )函数从来不会出现在我的代码中。 [/quote] 忽然领悟到你所说的"模块级变量"应该是指在按钮事件中单独定义一个状态量用于记录Text2,Locked, 而不是全局模块. 这样确实可以减少按钮对象的引用次数. 不过么...又不是循环, 我量他也不会一秒钟点几百几千下按钮, 引用就引用吧, 人家整桌的满汉全席都往外倒了, 还在意你节约掉在饭桌上的几颗饭粒么, 哈哈哈哈
熊孩子开学喽 2017-12-09
  • 打赏
  • 举报
回复
引用 8 楼 Chen8013 的回复:
[quote=引用 7 楼 WallesCai 的回复:] 不讲什么整体逻辑如何安排处理, (虽然我认为存在问题的可能性非常大) 光就这段代码换我来写的话是这样的: Private Sub Command8_Click() Text2.Locked = Not Text2.Locked Command8.caption = IIf( Text2.Locked, "修改", "确定") End Sub 你只要在窗体设计的时候设置好Command的Caption属性和Text2的Locked属性即可
你这个代码,换我肯定不会用。 因为:多次、重复使用“对象属性”Text2.Locked; 用了IIf( )函数。 如果要简单点,我会采用bakw的方案。 若从我自己的想法出发: 状态是用Long类型的模块级变量标识的(肯定不会用“文本比较”的方式来判断),处理流程用If……Else结构。 IIf( )函数从来不会出现在我的代码中。 [/quote] iif和if else本质上没有什么区别, 在条件和执行语句短的时候还可以缩短代码么. 至于模块级代码, 我也用的, 但是既然他的本意就是和控件本身的状态相干的, 干脆就用控件自身的属性的了, 相比再引入一个全局变量而言"模块化"的程度更高么. 当然, 我事先说过了, 看这么一堆烂糟糟的代码, 基本上别说全局的逻辑, 模块级的都不一定能搞清楚. 所以多一事不如少一事了. 能简略点就简略点吧. 我只是针对他贴出的代码就事论事而已.
无·法 2017-12-09
  • 打赏
  • 举报
回复
楼上怎么有空出来了,消失很久
舉杯邀明月 2017-12-09
  • 打赏
  • 举报
回复
引用 9 楼 WallesCai 的回复:
[quote=引用 8 楼 Chen8013 的回复:] [quote=引用 7 楼 WallesCai 的回复:] 不讲什么整体逻辑如何安排处理, (虽然我认为存在问题的可能性非常大) 光就这段代码换我来写的话是这样的: Private Sub Command8_Click() Text2.Locked = Not Text2.Locked Command8.caption = IIf( Text2.Locked, "修改", "确定") End Sub 你只要在窗体设计的时候设置好Command的Caption属性和Text2的Locked属性即可
你这个代码,换我肯定不会用。 因为:多次、重复使用“对象属性”Text2.Locked; 用了IIf( )函数。 如果要简单点,我会采用bakw的方案。 若从我自己的想法出发: 状态是用Long类型的模块级变量标识的(肯定不会用“文本比较”的方式来判断),处理流程用If……Else结构。 IIf( )函数从来不会出现在我的代码中。 [/quote] iif和if else本质上没有什么区别, 在条件和执行语句短的时候还可以缩短代码么. 至于模块级代码, 我也用的, 但是既然他的本意就是和控件本身的状态相干的, 干脆就用控件自身的属性的了, 相比再引入一个全局变量而言"模块化"的程度更高么. 当然, 我事先说过了, 看这么一堆烂糟糟的代码, 基本上别说全局的逻辑, 模块级的都不一定能搞清楚. 所以多一事不如少一事了. 能简略点就简略点吧. 我只是针对他贴出的代码就事论事而已.[/quote] IIf( )函数跟If……Else……是有本质区别的,到你这儿怎么变成“没什么区别”了??? 首先:IIf( )是“函数”,它有3个参数,首先必须把“三个参数的值”都计算出来,才能进行函数调用;   而If……Else……只是一种“语法结构”,对应于使用IIf( )函数的三个参数,第2、第3个参数无论如何都只计算其中1个!   因此用If……Else……结构,运行效率必然比用IIf( )函数高一些。   无论用哪种形式,“第1个参数”(逻辑条件)都是要进行处理的,这一点相同。 其次:在一些特定情况下,用IIf( )函数,计算后两个参数时有可能其中一个会引发“异常”;   但用If…Else…往往是可以避免的,因不“不满足条件”的那个表达式不用计算,而“异常”基本都是因“不满足条件却偏要去计算”引发。   当然,针对楼主的这个应用中,因为“取值”是来源于“常量”,当然就没有异常的问题了。
舉杯邀明月 2017-12-08
  • 打赏
  • 举报
回复
引用 7 楼 WallesCai 的回复:
不讲什么整体逻辑如何安排处理, (虽然我认为存在问题的可能性非常大) 光就这段代码换我来写的话是这样的: Private Sub Command8_Click() Text2.Locked = Not Text2.Locked Command8.caption = IIf( Text2.Locked, "修改", "确定") End Sub 你只要在窗体设计的时候设置好Command的Caption属性和Text2的Locked属性即可
你这个代码,换我肯定不会用。 因为:多次、重复使用“对象属性”Text2.Locked; 用了IIf( )函数。 如果要简单点,我会采用bakw的方案。 若从我自己的想法出发: 状态是用Long类型的模块级变量标识的(肯定不会用“文本比较”的方式来判断),处理流程用If……Else结构。 IIf( )函数从来不会出现在我的代码中。
熊孩子开学喽 2017-12-07
  • 打赏
  • 举报
回复
不讲什么整体逻辑如何安排处理, (虽然我认为存在问题的可能性非常大) 光就这段代码换我来写的话是这样的: Private Sub Command8_Click() Text2.Locked = Not Text2.Locked Command8.caption = IIf( Text2.Locked, "修改", "确定") End Sub 你只要在窗体设计的时候设置好Command的Caption属性和Text2的Locked属性即可
of123 2017-12-04
  • 打赏
  • 举报
回复
这样试试:
Private Sub Command8_Click()
    If Command8.Caption = "确定" Then
        Text2.Locked = True
        Text2.BackColor = vbWhite
        Command8.Caption = "修改"
    ElseIf Command8.Caption = "修改" Then
        Text2.Locked = False
        Text2.BackColor = vbGreen
        Text2.SetFocus
        Text2.SelStart = 0
        Text2.SelLength = Len(Text2)
        Command8.Caption = "确定"
    End If
End Sub

Private Sub Form_Load()
    Text2.Locked = True
    Command8.Caption = "修改"
End Sub
脆皮大雪糕 2017-12-04
  • 打赏
  • 举报
回复

Private Sub Command8_Click()
If Command8.Caption = "确定" Then
    Text2.Locked = True
    Command8.Caption = "修改"
Else
    Text2.Locked = False
    Command8.Caption = "确定"
End If
按照你的逻辑,应该是正常的,估计在被点击的时候你的command8.caption并非初始化为“确定”和“修改”两种状态之一吧。 按照你的逻辑,对command8.caption从判断上其实是非此即彼的事情,所以判断条件稍微改一下能够确保你的程序能够走下去。 但是在窗体的load事件中,你要确保comand8和text2的各项属性配套。 以后遇到这种问题,在你觉得应该进入但没有进入的分支入口加个断点跟踪一下就都明白了
笨狗先飞 2017-12-02
  • 打赏
  • 举报
回复
可能没写干净,有空格,不可见字符,全半角。。。。。 搞不定的话form_load事件里先给个值好了
houguojun2010 2017-12-02
  • 打赏
  • 举报
回复
在 Command8.Caption的窗口属性中事先 写了汉字 确定 的话,运行就无反应。 为什么
舉杯邀明月 2017-12-02
  • 打赏
  • 举报
回复
顶楼上。 极可能楼主在设计界面时,Command8就没有更改Caption属性,是默认值“Command8”,   然后运行时由于“限制太死”导致永远没有“符合执行条件”的情况,这时对于“人”来说,它就是“没反应”了。
笨狗先飞 2017-12-02
  • 打赏
  • 举报
回复
这样就行了,你限定的太紧了, Command8的初始Caption如果不是“确定”或者“修改”的话, 代码就会不动作了。

Private Sub Command8_Click()
    If Command8.Caption = "确定" Then
        Text2.Locked = True
        Command8.Caption = "修改"
    Else
        Text2.Locked = False
        Command8.Caption = "确定"
    End If
End Sub
Transformer发轫于NLP(自然语言处理),并跨界应用到CV(计算机视觉)领域。目前已成为深度学习的新范式,影响力和应用前景巨大。 本课程对Transformer的原理和TensorFlow 2代码进行精讲,来帮助大家掌握其详细原理和具体实现。 原理精讲部分包括:注意力机制和自注意力机制、Transformer的架构概述、Encoder的多头注意力(Multi-Head Attention)、Encoder的位置编码(Positional Encoding)、残差链接(Residual Connection)、层规范化(Layer Normalization)、FFN(Feed Forward Network)、Transformer的训练及性能、Transformer的机器翻译工作流程。  代码精讲部分使用Jupyter Notebook对Transformer的TensorFlow 2实现代码进行逐行解读,包括:安装TensorFlow、Transformer的数据集加载与预处理代码解读、Transformer的位置编码与多头注意力代码解读、Transformer的Transformer类代码解读、Transformer的优化器与损失函数代码解读、Transformer的训练代码解读、Transformer的推理与权重保存代码解读。相关课程: 《Transformer原理与代码精讲(PyTorch)》https://edu.csdn.net/course/detail/36697《Transformer原理与代码精讲(TensorFlow)》https://edu.csdn.net/course/detail/36699《ViT(Vision Transformer)原理与代码精讲》https://edu.csdn.net/course/detail/36719《DETR原理与代码精讲》https://edu.csdn.net/course/detail/36768《Swin Transformer实战目标检测:训练自己的数据集》https://edu.csdn.net/course/detail/36585《Swin Transformer实战实例分割:训练自己的数据集》https://edu.csdn.net/course/detail/36586《Swin Transformer原理与代码精讲》 https://download.csdn.net/course/detail/37045

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧