• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    VB中實現同一窗口的多個實例及控件的動態增減

    發布: 2007-7-14 20:28 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 19次 | 進入軟件測試論壇討論

    領測軟件測試網 作者:四川省綿陽市愛迪公司 李萬昌

    ---- 在我編制的一個控制系統中,需要對不同模塊的不同狀態設置相應參數.由于設置的參數名稱都一樣,只是具體內容不同,我不再象往常一樣創建不同的窗口,擺放相同的部件,編制幾乎相同的代碼,而使用了窗體實例.其實現過程大致如下:

    新建一個Form(我使用的是MDIForm,用一般的form也一樣,我試過),取名為form1,再建一個窗口取名為form2;

    為form1建立菜單項(使用按鈕也行):
    菜單項:OpenWindow,
    子菜單項:open1、open2、open3,子菜單項設為控件數組,名稱取為mnuOpen,索引分別為0、1、2;

    為菜單mnuOpen編寫代碼:
    Private Sub mnuOpen_Click(Index As Integer)
    Dim myForm As Form '定義變量
    For Each myForm In Forms '使用Forms集合
    If myForm.Caption = "Window" & CStr(Index + 1) Then
    '通過查看窗口標題檢查該窗口實例是否已打開
    myform.windowstate=0 '照原來的尺寸大小和位置打開
    myForm.SetFocus '如果已打開,則使其獲得焦點
    Set myForm = Nothing '釋放資源
    Exit Sub '跳出過程
    End If
    Next
    Set myForm = New Form2 '創建Form2的窗體實例
    Load myForm
    myForm.Caption = "Window" & CStr(Index + 1)
    '設置其Caption屬性,也可作其他操作
    myForm.Show
    Set myForm = Nothing
    End Sub


    ---- 在我的控制系統中,也用到了控件的動態增減,下面談談實現方法.
    ---- 假設根據一TextBox(名稱為Text1)的內容來決定某Label[名稱為Label1(0),定為控件數組,索引值Index為0]控件的數目.在Form中放置一個TextBox控件和一個Label控件,取名如前所述;再放置一個命令按鈕Command1.在Command1中編程:

    Private Sub Command1_Click()
    If IsNumeric(Text1.Text) = False Then Exit Sub
    '如果Text1中內容不是數字則退出過程
    Dim iCount As Integer, i As Integer
    'iCount為設定的個數,i為計數器
    Dim iIndex As Integer
    'iIndex為實際個數
    iCount = CInt(Text1.Text)
    If iCount > 0 And iCount < 10 Then
    '假定最多只能放10個Label1
    iIndex = Label1.Count '當前Label1的個數
    If iCount > iIndex Then
    '設定值大于實際值則增加相應數目的控件
    For i = iIndex To iCount - 1
    Load Label1(i)
    With Label1(i)
    .Left = Label1(0).Left
    .Top = Label1(i - 1).Top + 350
    .Visible = True
    End With
    Next i
    ElseIf iCount < iIndex Then
    '設定值小于實際值則刪除多余的控件
    For i = iCount To iIndex - 1
    Unload Label1(i)
    Next i
    End If
    End If
    End Sub
    ---- 上面的代碼在VB5.0和VB6.0中運行通過.

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>