想實作如下功能,不知VB6能不能支持這個功能:
一個MDI主表單下面已經打開多個子表單:frm1、frm2、frm3、...
當再次點擊選單(每個選單項對應一個子表單),如果子表單之前已加載,就激活那個子表單,如果子表單沒有加載過就打開這個子表單。
uj5u.com熱心網友回復:
現有情況是:多個子表單已經點擊打開過了,再點擊選單打開對應表單時,如果那個字表單已經打開過了,就無法激活到當前狀態,這樣導致給用戶的感覺是:點這個選單怎么沒有反應啊,再仔細一瞧原來已經打開這個表單了,要是子表單很多的話,點不人性化。所以有這樣需求的想法:當再次點擊選單時,程式遍歷所有已打開的子表單,如果遍歷找到了只需激活該表單到當前狀態就可以了。
uj5u.com熱心網友回復:
這個不需要你寫代碼啊。有個選單自己會管理的啊。uj5u.com熱心網友回復:
默認選單就有自動切換的功能?
我的情況是偶爾有自動情況,大部分情況是不能自動切換的,不知道為何?
uj5u.com熱心網友回復:
Private Sub Menu1_Click()
Dim frm As Form
Dim flag As Boolean
flag = False
For Each frm In Forms
If frm.Name = "BSetting" Then
frm.SetFocus
flag = True
Exit For
End If
Next
If flag = False Then
Dim cs As New BSetting
cs.WindowState = 2
cs.Show
End If
End Sub
uj5u.com熱心網友回復:
我認為不是特別復雜吧,實際在選單的 Click 事件中給frm1表單加上 SetFocus方法就可以了
Private Sub cdmc_Click()
frm1.Show
frm1.SetFocus
End Sub
SetFocus就是讓其獲得焦點,在打開多個MDI子表單時,點擊選單就可以將選單的子表單拉到最前面。
uj5u.com熱心網友回復:
For Each FM In FormsNext
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/54342.html
標籤:VB基礎類
下一篇:請大家幫忙辨認一個工業相機
