pine222222 2016-12-26 05:50 采纳率: 0%
浏览 1670
已结题

VB.NET 无法调用另一个隐藏窗体中的按钮,希望能够解决这个问题。

创建两个窗体。第一个窗体上有四个按钮,可以显示或隐藏第二个窗体,可以调用第二个窗体上的按钮。第二个窗体上有一个按钮,按钮的功能是产生一个信息框。当第二个窗体显示时,第一个窗体的按钮可以成功调用第二个窗体上的按钮,产生一个信息框。当第二个窗体隐藏时,就无法功调用第二个窗体上的按钮。
这是一个简化的例子,实际上,被调用的第二个窗体上的按钮还要去调用其他的控件。
现在正在使用的凑合的办法是把第二个窗体放在正在显示的第一个窗体后面去遮蔽起来。需要的时候把第二个窗体放到前面来。
对可见的按钮,不可见的按钮的调用也是一样。现在正在使用的凑合的办法是把按钮放在一个标签(label)后面去遮蔽起来。需要的时候把按钮放在标签(label)前面来。

窗体1的代码。
Friend Class Form1
Inherits System.Windows.Forms.Form
Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click
'隐藏窗体,使窗体按钮不可见。
Form2.Hide()
Me.Button4.Visible = False
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    '显示窗体,使窗体按钮可见。
    Form2.Location = New Point(200, 300)
    Form2.Show()
    Form2.Command2.Visible = True

    Me.Button4.Visible = True

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    '按钮的功能
    MsgBox("窗体按钮----")
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    '调用窗体的按钮
    Form2.Command2.PerformClick()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    '调用窗体的按钮
    Me.Button4.PerformClick()

End Sub

End Class
窗体2的代码。
Friend Class Form2
Inherits System.Windows.Forms.Form
Private Sub Command2_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command2.Click
'窗体按钮的功能。
MsgBox("窗体按钮")
End Sub
End Class

  • 写回答

2条回答 默认 最新

  • Tiger_Zhao 2016-12-26 08:50
    关注
    Public Class Form2
    
        '暴露出事件'
        Public Sub Command2_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command2.Click
            MsgBox("窗体按钮")
        End Sub
    
    End Class
    
    Public Class Form1
    
        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            '直接调用事件'
            Form2.Command2_Click(sender, e)
    
            Me.Button4.Visible = True
        End Sub
    
    End Class
    
    评论

报告相同问题?

悬赏问题

  • ¥15 arduino控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥85 maple软件,solve求反函数,出现rootof怎么办?
  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿