【问题标题】:vb.net button visibility based on checkbox基于复选框的 vb.net 按钮可见性
【发布时间】:2017-04-15 22:00:50
【问题描述】:

所以我有一个如下表格:

Public Class IPADSOFT

Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
    IPADSOFTTS.Show()
End Sub

Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
    Me.Hide()
End Sub

Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
    HOME.Show()
    Me.Hide()
End Sub
End Class

其中有 3 个标记为 IPADSOFTBOX1、IPADSOFTBOX2、IPADSOFTBOX3 的复选框 所以...我有另一种形式如下:

Public Class IPADSOFTTS
Private Sub onload()
    If IPADSOFT.IPADSOFTBOX1.Checked Then
        Button1.Visible = True
        Button3.Visible = True
        Button5.Visible = True

    End If
End Sub
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
    Me.Hide()
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

End Sub

Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
    HOME.Show()
    IPADSOFT.Hide()
    Me.Hide()

End Sub
End Class

现在的想法是第二个表单上的所有按钮都设置为可见假,我希望页面检查在最后一个表单上选中了哪些复选框,然后使该表单上的所需按钮可见...但是它不工作

我做错了什么??我很抱歉我对 vb.net 非常陌生

【问题讨论】:

  • 第二种形式的onload 方法不会被魔法调用。如果您想在表单加载时完成某些操作,那么您需要处理该表单的 Load 事件处理程序。另外,如果你想测试三个不同的CheckBoxes,你不应该有三个If 块吗?最后,If 语句仅在第一个表单是其类型的默认实例时才有效。是吗?它最初是如何显示的?如果它是项目的启动表单,那么它是一个默认实例。
  • 那么我将如何处理加载事件,而且它不是默认实例。那么我是否必须参考以前的表格以及我将如何处理。
  • "我将如何处理加载事件" 您在搜索网络时发现的关于该主题的信息有哪些不明白的地方?
  • 我不明白你的意思。英语不是我的母语。如果我在网上找到任何我理解的东西,我就不会寻求帮助。如果您不准备提供帮助,请不要发表评论。像你最后一个这样的 cmets 没有帮助和不需要。我可能知道你的意思,但也许我不知道它是“处理加载事件”,所以请向我解释一下......我说我在我的 OP 中对 VB.net 非常陌生,它是一个私人的小项目。对不起,我对你的帮助不够好
  • 我刚刚搜索了“vb.net 处理表单加载事件”,第一个结果是该事件的 MSDN 文档,其中包含一个代码示例,显示了多个事件的处理程序,包括 Load。你到底搜索了什么你找不到的?令我惊讶的是,随着信息变得更容易找到,人们在找到它时会变得更糟。您是否知道您发布的代码包含多个ButtonsClick 事件的处理程序?如果不是,那么这就是问题的一部分:您没有花足够的时间学习基础知识。

标签: vb.net button checkbox


【解决方案1】:

用这个打开第二个表单

Dim newForm As New IPADSOFTTS With
            {.MainForm = Me}
            newForm .Show()

在第二种形式的Public Class下方设置Public MainForm As IPADSOFT

然后在Load事件中使用

if MainForm.IPADSOFTBOX1.Checked = true then
                        'Do whatever
                        End if

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    • 2021-02-07
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    • 1970-01-01
    • 2014-09-01
    相关资源
    最近更新 更多