标题:VB.NET鼠标单击问题
只看楼主
jojpst007
Rank: 1
等 级:新手上路
帖 子:14
专家分:4
注 册:2009-10-29
结帖率:100%
 问题点数:0 回复次数:5 
VB.NET鼠标单击问题
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim mdi As New Form2
        Dim a As New Form2
        mdi.MdiParent = Me
        mdi.Show()
End Sub
这个每次单击一次都弹出窗体,而且不能关闭.
我想实现单击第一次弹出窗体,在同一个按钮下单击第二次则关闭这个刚弹出的窗体。
该怎么改呢??
谢谢!
搜索更多相关主题的帖子: NET 单击 鼠标 
2010-03-02 19:00
sywzs
Rank: 10Rank: 10Rank: 10
来 自:辽宁
等 级:贵宾
威 望:15
帖 子:508
专家分:1725
注 册:2009-5-13
得分:0 
参考以下代码,是否可以满足你的要求?
Public Class Form1
    Dim fShow As Boolean = False '先声明一个变量
    Dim mdi As New Form2

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        mdi.MdiParent = Me
        If fShow Then
            fShow = False
            mdi.Hide()
        Else
            fShow = True
            mdi.Show()
            mdi.Top = 0
            mdi.Left = 0
        End If
    End Sub
End Class
2010-03-03 08:24
jojpst007
Rank: 1
等 级:新手上路
帖 子:14
专家分:4
注 册:2009-10-29
得分:0 
谢谢。但是,单击弹出的窗口,点右上角的关闭后,再点按钮打开窗口时就弹不出来了。
2010-03-03 12:25
kenkylou
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-3-3
得分:0 
我也学习一下
2010-03-03 12:25
dafeixia88
Rank: 2
等 级:论坛游民
帖 子:14
专家分:42
注 册:2010-2-23
得分:0 
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If Form2.Created = True Then
            Form2.Close()
        Else
            Form2.Show()
        End If
    End Sub
用此方法吧,应没问题
2010-03-03 16:25
sywzs
Rank: 10Rank: 10Rank: 10
来 自:辽宁
等 级:贵宾
威 望:15
帖 子:508
专家分:1725
注 册:2009-5-13
得分:0 
回复3楼:如果只有一个子窗体,尝试下面的代码。

Public Class Form1
    Dim fShow As Boolean = True '先声明一个变量
    Dim mdi As Form2

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If Me.MdiChildren.Length = 0 Then
            mdi = New Form2
            mdi.MdiParent = Me
            mdi.Show()
            mdi.Top = 0
            mdi.Left = 0
            Return
        End If
        mdi.MdiParent = Me
        If fShow Then
            fShow = False
            mdi.Hide()
        Else
            fShow = True
            mdi.Show()
            mdi.Top = 0
            mdi.Left = 0
        End If
    End Sub
End Class


[ 本帖最后由 sywzs 于 2010-3-4 08:46 编辑 ]
2010-03-04 08:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-298406-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024320 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved