【问题标题】:Vb.net window wont hideVb.net 窗口不会隐藏
【发布时间】:2014-07-21 00:39:32
【问题描述】:

所以我正在开发一个程序,让您可以选择运行它的计算机是服务器还是客户端。当用户选择时,应该将其保存到设置中,并在启动时自动转到所需的窗口,隐藏原来的启动屏幕。但是,当我启动程序时,它确实记得我是客户。但它不会隐藏开始屏幕。这是我的代码。

Public Class screenStart
Private Sub screenStart_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    If My.Settings.isserver = True Then
        screenServer.Show()
        Me.Hide()
    End If
    If My.Settings.isserver = False Then
        screenClient.Show()
        Me.Hide()
    End If
End Sub
Private Sub optionServer_Click(sender As Object, e As EventArgs) Handles optionServer.Click
    My.Settings.isserver = True
    My.Settings.Save()
    screenServer.Show()
    Me.Hide()
End Sub
Private Sub optionClient_Click(sender As Object, e As EventArgs) Handles optionClient.Click
    My.Settings.isserver = False
    My.Settings.Save()
    screenClient.Show()
    Me.Hide()
End Sub

结束类

【问题讨论】:

    标签: vb.net


    【解决方案1】:

    Load 事件在表单显示之前触发,因此Hide() 无效。

    相反,您应该首先更改 Main() 以显示正确的表单,这样当您不需要时,甚至永远不会加载启动表单。

    【讨论】:

    • 您能否更具体地说明“Main()”的含义?也许还有一个例子?
    • 在这种情况下我们可以使用 screenStart_Shown() 事件吗?
    【解决方案2】:

    在您的代码中进行以下更改,以便为您提供所需的输出。

       Private Sub screenStart_Load(sender As Object, e As EventArgs) Handles MyBase.Load
             Me.Hide()   
             If My.Settings.isserver = True Then
             screenServer.Show()      
             else
             screenClient.Show()
             End If
       End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-04
      相关资源
      最近更新 更多