新聞中心
怎么使用vb恢復(fù)一個最小化的程序,并激活窗口?
Declare Function OpenIcon Lib "user32" Alias
創(chuàng)新互聯(lián)公司擁有10年成都網(wǎng)站建設(shè)工作經(jīng)驗,為各大企業(yè)提供成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)服務(wù),對于網(wǎng)頁設(shè)計、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、成都App制作、wap網(wǎng)站建設(shè)(手機版網(wǎng)站建設(shè))、程序開發(fā)、網(wǎng)站優(yōu)化(SEO優(yōu)化)、微網(wǎng)站、空間域名等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了很多網(wǎng)站制作、網(wǎng)站設(shè)計、網(wǎng)絡(luò)營銷經(jīng)驗,集策劃、開發(fā)、設(shè)計、營銷、管理等網(wǎng)站化運作于一體,具備承接各種規(guī)模類型的網(wǎng)站建設(shè)項目的能力。
"OpenIcon" (ByVal hwnd As Long) As Long
說明
恢復(fù)一個最小化的程序,并將其激活
返回值
Long,非零表示成功,零表示失敗。會設(shè)置GetLastError
參數(shù)表
參數(shù)
類型及說明
hwnd
Long,欲恢復(fù)的窗口
注解
針對vb窗體,應(yīng)使用vb的WindowState屬性
VB.NET窗體內(nèi)容很多,會不會導(dǎo)致窗體最小化后在還原時很卡?
所謂的“上位機傳數(shù)據(jù)”,是指系統(tǒng)收到端口信息后,觸發(fā)你代碼中相應(yīng)對象的事件,然后在事件處理代碼中把數(shù)據(jù)寫到窗體上的。不管你內(nèi)容多少,還原和最小化的運行速度都和上位機本身沒有關(guān)系,你看很多程序在最小化還原后很卡,要么是程序?qū)懥撕芏噙€原時觸發(fā)的代碼,要么是系統(tǒng)內(nèi)存不夠,把窗體移到虛擬內(nèi)存(硬盤)里了。你可以用代碼在窗體失去焦點激活的時候(Deactived事件)停止接收數(shù)據(jù),還原時(Actived事件)再恢復(fù)
在vb.net中窗口關(guān)閉后打開的是代碼,怎么回到窗口?
用鼠標(biāo)移動到右上方的 “解決方案資源管理器”的“視圖設(shè)計器”圖標(biāo)(見下圖),可以看到系統(tǒng)會顯示“視圖設(shè)計器”文字,單擊就可能出現(xiàn)窗體:
如果用鼠標(biāo)單擊該圖標(biāo)左邊的“查看代碼”按鈕,就進入代碼窗口;
vb.net 怎樣判斷某個窗體是否打開
Dim F1 As New Datasystem.Form2 '實例化窗體
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() '如果沒有打開的窗體中未找到,重新打開窗體
VB 窗體最小化與還原
VB程序運行時,把窗口最大化后,窗口是不能被調(diào)整大小的(最小化除外),在程序中也不行。
設(shè)計時,可以正常窗口呈現(xiàn),并屏蔽窗體的最大化按鈕,自己做個替代的“最大化”按鈕,實現(xiàn)窗體放大。當(dāng)點擊“最大化”時,觸發(fā)Form的ReSize事件,在Form的ReSize事件中,寫入:
Private Sub Form_Resize()
Form1.Left = 0
Form1.Top = 0
Form1.Width = Screen.Width
Form1.Height = Screen.Height - GetTaskbarHeight
End Sub
(當(dāng)程序啟動時,也會同時觸發(fā)Form_ReSize的)
其中,GetTaskbarHeight的獲取要寫進模塊文件中:
Public Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long
Public Const SPI_GETWORKAREA = 48
Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Public Function GetTaskbarHeight() As Integer
Dim lRes As Long
Dim rectVal As RECT
lRes = SystemParametersInfo(SPI_GETWORKAREA, 0, rectVal, 0)
GetTaskbarHeight = ((Screen.Height / Screen.TwipsPerPixelX) -rectVal.Bottom) * Screen.TwipsPerPixelX
End Function
但是,這樣做還要考慮到有些人把任務(wù)欄移到其他地方的,比如左側(cè),右側(cè),甚至隱藏,所以,也是很麻煩的哦
本文標(biāo)題:vb.net還原窗口,vb還原代碼
地址分享:http://www.ef60e0e.cn/article/phpdoj.html