真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vb.net窗體激活 VB 窗體

VB.NET窗體內(nèi)容很多,會(huì)不會(huì)導(dǎo)致窗體最小化后在還原時(shí)很卡?

所謂的“上位機(jī)傳數(shù)據(jù)”,是指系統(tǒng)收到端口信息后,觸發(fā)你代碼中相應(yīng)對(duì)象的事件,然后在事件處理代碼中把數(shù)據(jù)寫到窗體上的。不管你內(nèi)容多少,還原和最小化的運(yùn)行速度都和上位機(jī)本身沒有關(guān)系,你看很多程序在最小化還原后很卡,要么是程序?qū)懥撕芏噙€原時(shí)觸發(fā)的代碼,要么是系統(tǒng)內(nèi)存不夠,把窗體移到虛擬內(nèi)存(硬盤)里了。你可以用代碼在窗體失去焦點(diǎn)激活的時(shí)候(Deactived事件)停止接收數(shù)據(jù),還原時(shí)(Actived事件)再恢復(fù)

成都網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、重慶網(wǎng)站建設(shè)公司、微信開發(fā)、成都小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站制作等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:橡塑保溫等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶的一致贊揚(yáng)!

VB.NET點(diǎn)擊窗體內(nèi)按鈕窗體不激活

Public?Class?Form1

'聲明常量:(釋義可參見windows?API)

Const?WS_EX_NOACTIVATE?As?Integer?=?H8000000

'重載Form的CreateParams屬性,添加不獲取焦點(diǎn)屬性值。

Protected?Overrides?ReadOnly?Property?CreateParams()?As?CreateParams

Get

Dim?cp?As?CreateParams?=?MyBase.CreateParams

cp.ExStyle?=?cp.ExStyle?Or?WS_EX_NOACTIVATE

Return?cp

End?Get

End?Property

End?Class

如何給VB.NET窗體添加子窗體?

直接添加一個(gè)MID父窗體或在已有窗體的屬性中找到IsMDIContainer屬性,然后設(shè)置為True,然后創(chuàng)建第二個(gè)窗體 ,需要加載子窗體的時(shí)候:

Dim NewMDIChild As New Form2

NewMDIChild.MdiParent = Me

NewMDIChild.Show()

Public?Shared?Sub?CheckMDIChildForm(ByVal?MDIForm?As?Windows.Forms.Form,?ByVal?MDIChildForm?As?Windows.Forms.Form,?ByVal?MDIChildFormName?As?String)

If?MDIForm.MdiChildren.Length??1?Then

'如果沒有任何一個(gè)MDI子窗體,則創(chuàng)該MDI子窗體的窗體實(shí)例

Dim?MDIChildFrm?As?Windows.Forms.Form?=?MDIChildForm?'?定義MDI子窗體

MDIChildFrm.MdiParent?=?MDIForm?'指定父窗體

MDIChildFrm.Show()?'打開窗體

Exit?Sub

Else

Dim?x?As?Integer

Dim?frmyn?As?Boolean

For?x?=?0?To?(MDIForm.MdiChildren.Length)?-?1

Dim?tempChild?As?Windows.Forms.Form?=?CType(MDIForm.MdiChildren(x),?Windows.Forms.Form)

If?tempChild.Name?=?MDIChildFormName?Then

'檢測到有該MDI子窗體,設(shè)為激活?并退出循環(huán)

frmyn?=?True

tempChild.BringToFront()

Exit?For

Else

frmyn?=?False

End?If

Next

If?Not?frmyn?Then

'在打開的窗體中沒檢測到則新建

Dim?MDIChildFrm?As?Windows.Forms.Form?=?MDIChildForm?'?定義MDI子窗體

MDIChildFrm.MdiParent?=?MDIForm?'指定父窗體

MDIChildFrm.Show()?'打開窗體

End?If

End?If

End?Sub

使用VB.NET的五個(gè)技巧之窗體嵌套

NET框架組件太大了 比任何以前所寫的封裝功能的庫都要大 這樣有好處 因?yàn)樗蠓鳒p了建立應(yīng)用程序所需編寫的代碼 但是也使我們不可能完全了解該框架組件 但是我們很容易從中找到一些技巧

窗體嵌套

經(jīng)驗(yàn)豐富的Visual Basic開發(fā)者知道多文檔界面(MDI)應(yīng)用程序能夠包含子窗體 那些子窗體由MDI父窗體管理 但是如果沒有MDI的能力你怎樣實(shí)現(xiàn)包含嵌套窗體?例如一個(gè)MDI子窗體也可能需要包含另一個(gè)窗體

有時(shí)能夠使用用戶控件(UserControl)實(shí)現(xiàn)這種功能 但是如果你真的需要把一個(gè)窗體嵌套進(jìn)另一個(gè)窗體 有多種方法可以實(shí)現(xiàn) 窗體衍生自Control類 這意味著它能被放入另一個(gè)窗體的控件集合中 使用如下的邏輯

Dim f As New frmEmbed ()Me Controls Add(f)f Show()

但是很不幸 這段代碼將會(huì)導(dǎo)致一個(gè)運(yùn)行時(shí)(runtime)異常(見圖 )

圖 試圖把一個(gè)窗體添加到另一個(gè)窗體的控件集合時(shí)出現(xiàn)的運(yùn)行時(shí)錯(cuò)誤

為了避免這種異常 該窗體的TopLevel屬性必須設(shè)置為False(見下面的代碼)

Dim f As New frmEmbed () f TopLevel = False Me Controls Add(f) f Show()

圖 顯示的是使用上面的邏輯實(shí)現(xiàn)的一個(gè)窗體嵌入另一個(gè)窗體 嵌入的窗體有一個(gè)標(biāo)題條(它的顏色是未激活的系統(tǒng)顏色) 因此該嵌入窗體能在容器窗體內(nèi)四處拖動(dòng) 在圖 中 該窗體從它的開始位置(左上角)拖到了右下角

圖 在容器窗體中有一個(gè)嵌入的窗體 嵌入的窗體能在容器窗體中拖動(dòng)

通常在顯示嵌入的窗體前先設(shè)置它的位置 這只需要簡單的設(shè)置嵌入窗體的Left和Top屬性 嵌入窗體的位置與容器窗體是相對(duì)的

與MDI子窗體不同 嵌入窗體能覆蓋容器窗體上的控件 圖 顯示了它們的不同

圖 嵌入窗體(左)可以覆蓋容器窗體上的控件 MDI子窗體(右)不能覆蓋MDI父窗體上的控件

在右邊的MDI例子中 沒有辦法使按鈕隱藏在子窗體的后面 但是在左邊該按鈕被嵌入窗體覆蓋了

當(dāng)窗體第一次被嵌入時(shí) 它將顯示在容器窗體上的已存在的控件的后面 當(dāng)它被點(diǎn)擊時(shí) 它走向前臺(tái)并停留在那兒 這會(huì)打擾用戶 但是能通過插入下面的代碼防止這種情況發(fā)生

f BringToFront()

嵌入的窗體可以包含其它的嵌入窗體 沒有實(shí)際的限制 圖 顯示了一個(gè)本身包含嵌入的窗體的嵌入窗體

lishixinzhi/Article/program/net/201311/12398

vb.net 怎樣判斷某個(gè)窗體是否打開

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() '如果沒有打開的窗體中未找到,重新打開窗體

Vb.net中已知某程序的進(jìn)程id,如果激活該程序并最大化?

使用ShowWindow函數(shù),便可輕松控制窗口的顯隱,最小化,最大化。

概述

函數(shù)功能:該函數(shù)設(shè)置指定窗口的顯示狀態(tài)。

函數(shù)原型:BOOL ShowWindow(HWND hWnd, int nCmdShow);

*/第一個(gè)參數(shù)為句柄,第二個(gè)參數(shù)選下面的值

#define SW_HIDE 0

#define SW_SHOWNORMAL 1

#define SW_NORMAL 1

#define SW_SHOWMINIMIZED 2

#define SW_SHOWMAXIMIZED 3

#define SW_MAXIMIZE 3

#define SW_SHOWNOACTIVATE 4

#define SW_SHOW 5

#define SW_MINIMIZE 6

#define SW_SHOWMINNOACTIVE 7

#define SW_SHOWNA 8

#define SW_RESTORE 9

#define SW_SHOWDEFAULT 10

#define SW_FORCEMINIMIZE 11

#define SW_MAX 11

參數(shù)含義

hWnd:指窗口句柄。

nCmdShow:指定窗口如何顯示。如果發(fā)送應(yīng)用程序的程序提供了STARTUPINFO結(jié)構(gòu),則應(yīng)用程序第一次調(diào)用ShowWindow時(shí)該參數(shù)被忽略。否則,在第一次調(diào)用ShowWindow函數(shù)時(shí),該值應(yīng)為在函數(shù)WinMain中nCmdShow參數(shù)。在隨后的調(diào)用中,該參數(shù)可以為下列值之一:

SW_FORCEMINIMIZE:在WindowNT5.0中最小化窗口,即使擁有窗口的線程被掛起也會(huì)最小化。在從其他線程最小化窗口時(shí)才使用這個(gè)參數(shù)。

SW_HIDE:隱藏窗口并激活其他窗口。

SW_MAXIMIZE:最大化指定的窗口。

SW_MINIMIZE:最小化指定的窗口并且激活在Z序中的下一個(gè)頂層窗口。

SW_RESTORE:激活并顯示窗口。如果窗口最小化或最大化,則系統(tǒng)將窗口恢復(fù)到原來的尺寸和位置。在恢復(fù)最小化窗口時(shí),應(yīng)用程序應(yīng)該指定這個(gè)標(biāo)志。

SW_SHOW:在窗口原來的位置以原來的尺寸激活和顯示窗口。

SW_SHOWDEFAULT:依據(jù)在STARTUPINFO結(jié)構(gòu)中指定的SW_FLAG標(biāo)志設(shè)定顯示狀態(tài),STARTUPINFO 結(jié)構(gòu)是由啟動(dòng)應(yīng)用程序的程序傳遞給CreateProcess函數(shù)的。

SW_SHOWMAXIMIZED:激活窗口并將其最大化。

SW_SHOWMINIMIZED:激活窗口并將其最小化。

SW_SHOWMINNOACTIVATE:窗口最小化,激活窗口仍然維持激活狀態(tài)。

SW_SHOWNA:以窗口原來的狀態(tài)顯示窗口。激活窗口仍然維持激活狀態(tài)。

SW_SHOWNOACTIVATE:以窗口最近一次的大小和狀態(tài)顯示窗口。激活窗口仍然維持激活狀態(tài)。

SW_SHOWNORMAL:激活并顯示一個(gè)窗口。如果窗口被最小化或最大化,系統(tǒng)將其恢復(fù)到原來的尺寸和大小。應(yīng)用程序在第一次顯示窗口的時(shí)候應(yīng)該指定此標(biāo)志。

不過順便說一句,SendKeys會(huì)偶爾造成指令丟失,不可避免。不管你激活窗口還是最大化窗口或者鎖定都沒辦法完全避免。


網(wǎng)站題目:vb.net窗體激活 VB 窗體
文章地址:http://weahome.cn/article/hpjghd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部