正好我也需要這個(gè)功能,我是這樣做的:
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、通遼網(wǎng)絡(luò)推廣、微信小程序開發(fā)、通遼網(wǎng)絡(luò)營銷、通遼企業(yè)策劃、通遼品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供通遼建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:vcdvsql.cn
'判斷指定窗體是否打開
Public?Function?frmopen(frmname?As?String)?As?Boolean
Dim?frmeach?As?Form
For?Each?frmeach?In?Forms
If?frmeach.Name?=?frmname?Then
frmopen?=?True
Exit?Function
End?If
Next
frmopen?=?False
End?Function
frmname是我們要判斷是否打開的子窗體的名稱,遍歷所有窗體,如果要判斷的窗體名稱存在,則返回True,如果沒有則返回false,根據(jù)返回函數(shù)來進(jìn)行斷判。
方法1:調(diào)用API函數(shù)FindWindow,通過窗體的Caption屬性判斷 Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function IsWindow Lib "user32" (ByVal hwnd As Long) As Long Dim lngAns As Long lngAns = FindWindow(vbNullString, "要查找窗體的CAPTION") lngAns = IsWindow(lngAns) If lngAns 0 Then MsgBox "窗體已經(jīng)被加載!", vbOKOnlyEndElseMsgBox "窗體未被加載!", vbOKOnlyEnd If方法2:訪問Forms集合,也是通過Caption判斷 '在Forms集合中進(jìn)行遍歷 For Each frmEach In Forms If frmEach Is frmTest Then '這樣判斷也可以 blnResult = TrueExit ForEnd If方法3:訪問Forms集合,通過name判斷 Private Function IsLoad(ByVal frmTest As Form) As Boolean Dim frmEach As Form Dim blnResult As Boolean blnResult = False '在Forms集合中進(jìn)行遍歷 For Each frmEach In Forms If frmEach.Name = frmTest.Name Then blnResult = TrueExit ForEnd IfNext
Dim F1 As New Datasystem.Form2 '實(shí)例化窗體
For Each na As Form In Application.OpenForms '打開窗體的集合
If na.ProductName = F1.ProductName AndAlso na.Name = F1.Name 0 Then '判斷程序集的產(chǎn)品名稱和窗體名稱是否已存在打開的窗體中
If na.WindowState = FormWindowState.Minimized Then '判斷窗體是否最小化
na.WindowState = FormWindowState.Normal '還原窗體
End If
na.Activate() '激活窗體
Return '返回
End If
Next
F1.Show() '如果沒有打開的窗體中未找到,重新打開窗體
如果窗體是否處于顯示狀態(tài),通過Visible屬性辨別
如何判別窗體已載入,但未必顯示。可以在forms集合中搜索一下是否存在指定窗體。
Function?isLoaded(strForm?as?String)?As?Boolean
'參數(shù)為窗體名
Dim?frm?As?Form
For?Each?frm?In?Forms
If?frm.Name?=?strForm?Then
isLoaded?=?True
Exit?Function
End?If
Next
End?Function
網(wǎng)站標(biāo)題:vb.net判斷窗體狀態(tài),vbs判斷窗口是否存在
標(biāo)題路徑:http://vcdvsql.cn/article30/hshgpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、、建站公司、營銷型網(wǎng)站建設(shè)、云服務(wù)器、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
移動(dòng)網(wǎng)站建設(shè)知識(shí)