一個時刻只有一個窗體能獲得焦點。關(guān)鍵是窗體收到
會同網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,會同網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為會同成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的會同做網(wǎng)站的公司定做!
WM_KILLFOCUS
消息時的重繪。如果你只是想讓窗體看起來并沒有什么不同,就這樣吧。我用
VB6,所以寫的都是
API,VB.NET
的庫不是很熟,所以……將就一下吧。
調(diào)用
SetWindowLong,使窗體的消息處理鏈接到新的窗口函數(shù)
NewWndProc,然后在
NewWndProc
里檢測到
WM_KILLFOCUS
時就將其移出消息隊列即可。完畢之后調(diào)用原來的窗口函數(shù)。
SetFocus 方法
將焦點移至指定的控件或窗體。
1.對象必須是 Form 對象、MDIForm 對象或者能夠接收焦點的控件。調(diào)用 SetFocus 方法以后,任何的用戶輸入將指向指定的窗體或控件。
2.焦點只能移到可視的窗體或控件。因為在窗體的 Load 事件完成前窗體或窗體上的控件是不可視的,所以如果不是在 Form_Load 事件過程完成之前首先使用 Show 方法顯示窗體的話,是不能使用 SetFocus 方法將焦點移至正在自己的 Load 事件中加載的窗體的。
3.也不能把焦點移到 Enabled 屬性被設(shè)置為 False 的窗體或控件。如果已在設(shè)計時將 Enabled 屬性設(shè)置為 False,必須在使用 SetFocus 方法使其接收焦點前將 Enabled 屬性設(shè)置為 True。
最正統(tǒng)的方法是把TextBox1的TabIndex屬性設(shè)為0(其他控件的TabIndex不能是0)
要在Load事件里用TextBox1.Focus()也可以,但要先Me.Show(),否則不會起作用。因為控件得到焦點需要控件”可見可用“,在FormLoad階段整個窗體是“不可見"的,需要強制使用Me.Show()。
方法如下:
1、打開例1.1創(chuàng)建的工程。
2、選擇窗體Form1并雙擊該窗體,出現(xiàn)窗體的調(diào)事件的過程代碼體。
3、在窗體調(diào)用的過程代碼體中編制如下過程代碼:
Private Sub Form_Load()
Form1.Width = 4860
Form1.Height = 2520
End Sub
4、設(shè)置窗體Form1的SartUpPosition屬性為2-屏幕中心,這樣運行窗體可以發(fā)現(xiàn),屏幕的大小與例1.6中通過屬性設(shè)置的大小是一致的。
首先你要確定入口程序
因為你把代碼寫在了FORM1的LOAD事件里,到最后他還是要回到FORM1來。
最簡單的辦法
newfrm2.ShowDialog
這個最好是建議你用后臺發(fā)送數(shù)據(jù)的方法,你可以百度下SendMessage和PostMessage這兩個函數(shù)