基于文本框隐藏/取消隐藏组合框

Posted

技术标签:

【中文标题】基于文本框隐藏/取消隐藏组合框【英文标题】:Hide/unhide combobox based on a text box 【发布时间】:2020-10-26 14:46:02 【问题描述】:

我有一个以这种方式工作的表单:

用户选择产品的 ID VBA 代码在数据库中搜索并在表单中填写一些文本框。 例如: 用户选择 ID 1 文本框1填充:水果

我的问题是,我有一个组合框,其中包含“香蕉”、“苹果”或“葡萄”等选项。这个组合框在表单中是可见的,但我希望它是不可见的,并且仅在文本框 1 填充有“水果”时才会出现。

在设计视图中,我将组合框的可见性设置为“否”,因此它不再出现在表单中。然后,我写了这段代码:

Private Sub textbox1_AfterUpdate()
  If Me.textbox1 = "fruit" Then
      Me.LabelOfTheCombobox.Visible = True
      Me.Combobox.Visible = True
  Else
      Me.LabelOfTheCombobox.Visible = False
      Me.Combobox.Visible = False
  End if
End Sub
    

但它不起作用,当文本框充满“水果”时,组合框仍然不可见。 你能帮我修复这个代码吗?

【问题讨论】:

属性设置将应用于文本框的所有实例。因此,这不适用于连续或数据表形式。在这种情况下,最好的办法是使用条件格式启用/禁用。否则,看不出代码有什么问题。 textbox1 之后哪个控件获得焦点? 【参考方案1】:

一切看起来都不错。根据您所说,将“水果”放入文本框中不会导致组合框显示,那么我的猜测是如果测试失败。也许您可以在比较之前尝试修剪文本框的两侧。您还应该注意这种情况。尝试将文本框的大小写强制为小写以匹配字符串常量。

【讨论】:

以上是关于基于文本框隐藏/取消隐藏组合框的主要内容,如果未能解决你的问题,请参考以下文章

如何用Jquery控制单选按钮点击否然后隐藏其他文本框

winform中文本框改为密码框

为啥输入不改变颜色?

jquery日历插件问题

Vue - 实现双击显示编辑框;自动聚焦点击的显示框;点击编辑框外的地方,隐藏编辑框

如何隐藏组合框下拉列表中的列?