显示窗体时慎用Dim……as new

错误之一:显示其他子窗体时,报错,只能有一个MDI窗体。
原代码:Sub Main()
Dim fLogin As New frmLogin '显示登录窗体
Dim fMainForm As New frmMain

fLogin.Show vbModal 
  
If Not fLogin.OK Then   
   End
End If  
 
Unload fLoginfMainForm.Show
错误原因:不言自明,一个工程中只能有一个MDI窗体,dim …… as new ,造成多个MDI窗体。
修正:Sub Main
frmLogin.Show vbModal
   
If Not frmLogin.OK Then
   End
End If
   
Unload frmLogin
frmMain.Show
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个可以显示历史的菜单 Option Explicit Dim main As New main_frm Public max_index As Integer Public myindex As Integer Private Sub close_Click() On Error Resume Next '循环语句 For Each main In Forms If main.MDIChild = True Then Unload main End If Next Dim FNum As Integer Dim strfilename As String Dim i As Integer FNum = FreeFile strfilename = App.Path & "\cdxx.ini" If Dir(strfilename) <> "" Then Kill strfilename Open strfilename For Output As #FNum For i = 1 To mnufilelist.Count - 1 Print #FNum, mnufilelist(i).Caption Next Close #FNum Exit Sub End Sub Private Sub MDIForm_Load() Dim file As Long Dim mystring As String Dim s As String Dim strfilename As String strfilename = App.Path & "\cdxx.ini" file = FreeFile() On Error Resume Next Open strfilename For Input As #file '打开文件菜单列表 Do While Not EOF(file) Line Input #file, mystring If mystring <> "" Then max_index = max_index + 1 Load mnufilelist(max_index) mnufilelist(max_index).Caption = mystring mnufilelist(max_index).Visible = True End If Loop Close #file '关闭文件菜单列表 End Sub Private Sub MDIForm_Unload(Cancel As Integer) close_Click End Sub Private Sub mnufilelist_Click(Index As Integer) If mnufilelist(Index).Caption <> "" Then Static i As Integer If i < 1 Then i = 1 main_frm.Visible = False Dim main As New main_frm main.Caption = mnufilelist(Index).Caption i = i + 1 main.Picture = LoadPicture(mnufilelist(Index).Caption) main.Show End If End Sub Private Sub open_Click() '打开带图形的窗体 CommonDialog1.Filter = "所有图形文件" & "|*.jpg; *.bmp ; *.ico ;*.gif;*.cur" CommonDialog1.ShowOpen Static i As Integer If i < 1 Then i = 1 main_frm.Visible = False Dim main As New main_frm main.Caption = CommonDialog1.FileName i = i + 1 main.Picture = LoadPicture(CommonDialog1.FileName) main.Show max_index = mnufilelist.Count Load mnufilelist(max_index) mnufilelist(max_index).Caption = CommonDialog1.FileName mnufilelist(max_index).Visible = True End Sub Private Sub exit_Click() close_Click End End Sub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值