【问题标题】:Hide edit control when checkbox is checked in windows installer dialog在 Windows 安装程序对话框中选中复选框时隐藏编辑控件
【发布时间】:2011-07-11 20:56:27
【问题描述】:

我有一个对话框,下面有一个复选框和两个编辑字段。我希望在选中复选框后立即将编辑字段灰显或禁用。我 know this is possible 通过在 MSI 中的 ControlCondition 表中添加一个条目,但我不知道该条件使用什么,而且我找不到任何带有 Windows 安装程序复选框的示例。

我知道我很接近。有什么想法吗?

编辑:我正在尝试在安装程序项目中执行此操作,因此我无法直接访问对话框代码。相反,我正在尝试在 Orca 等 MSI 编辑器中编辑对话框。

【问题讨论】:

    标签: windows-installer custom-action


    【解决方案1】:

    好吧,我想通了。我比我想象的更接近!

    使用 Orca,我有一个名为 Checkbox1 的复选框,其属性设置为 USEWINAUTH。

    现在,在 ControlCondition 表中,我添加了 4 个条目:

    Dialog_: CustomTextA
    Control_: Edit2
    Action: Disable
    Condition: USEWINAUTH=1
    
    Dialog_: CustomTextA
    Control_: Edit2
    Action: Enable
    Condition: USEWINAUTH<>1
    

    然后对其他 Edit 控件重复此操作。

    我最终会使用一个脚本来完成这项工作,这样我就不必在每次构建项目时都使用 Orca 手动编辑 MSI。

    【讨论】:

      【解决方案2】:

      您可以将他们的Visible 属性设置为false 吗?或者地狱,只需将 Enabled 属性设置为 false。

      【讨论】:

      • 我可以手动完成,但检查复选框如何触发呢?这就是我坚持的部分。
      • 您需要一个事件处理程序
      • 我就是这么想的。我正在使用 orca 来编辑 msi。有没有办法做到这一点?我对此不太熟悉,所以如果我错了请纠正我,但似乎您可以在 ControlEvents 表中添加事件并对其进行处理。
      • 您遇到的具体问题是什么?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-28
      • 2010-10-17
      • 2013-08-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      相关资源
      最近更新 更多