十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
直接添加一个MID父窗体或在已有窗体的属性中找到IsMDIContainer属性,然后设置为True,然后创建第二个窗体 ,需要加载子窗体的时候:
10年积累的成都网站制作、网站设计、外贸网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有庆元免费网站建设让你可以放心的选择与我们合作。
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
'如果没有任何一个MDI子窗体,则创该MDI子窗体的窗体实例
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子窗体,设为激活 并退出循环
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
一、带窗体的dll创建
1、先新建 类库(testdll),在项目中添加两个窗体form1(主窗体)、form2,为了与后面的调用区分分别命名为fm1,fm2;并在fm1窗体中添加一个按钮用来调用fm2如下图
2、在fm1窗体代码中先引用fm2, 按钮代码调用fm2.如图
3、生成dll,(class1.vb中不需要写任何代码)
二、调用dll
1、新建 一个windows应用程序并添加一个按钮用来调用dll中的窗体,选 择 “项目”-“添加引用”,选择刚才创建的testdll
2、窗体代码中先引用testdll,再定义一个testdll中的fm1对象,最后执行对象的show方法
3、运行结果如下:
vb6建立主窗体的子窗体有两种方法:
第一种方法是建立一个MDI窗体,然后把普通的form窗体设置成它的子窗体。
第二种方法是使用Windows API设置一个普通form窗体为另外一普通窗体的子窗体。
一、先来看看如何建立MDI窗体的子窗体:
1、启动vb6,新建一个标准EXE工程。
2、在“工程”菜单里选择“添加MDI窗体”,
点击“打开”,添加了一个MDIForm1窗体,
这步也可以工程窗口的窗体图标上右键完成。
3、在“工程”菜单里选择“XXX 属性”,
在弹出的窗口里把启动对象设成MDIForm1。
4、在form1的属性窗口里,把MDIChild属性设置为True。
5、在Private Sub MDIForm_Load()过程里添加form1.show。
6、运行程序,看到设置已经成功。
二、使用Windows API建立子窗体:
1、1、启动vb6,新建一个标准EXE工程。
2、在“工程”菜单里选择“添加窗体”,
点击“打开”,添加了一个form2窗体,
这步也可以工程窗口的窗体图标上右键完成。
3、双击form1窗体,在通用里加入以下windows API:
Private Declare Function SetParent Lib "user32.dll" ( _
ByVal hWndChild As Long, _
ByVal hWndNewParent As Long) As Long
4、在form1的Private Sub Form_Load()过程里加入
Form2.Show
SetParent Form2.hWnd, Form1.hWnd
Form2.Move 0, 0
5、运行程序,可以看form2已经是form1的子窗体了。
6、完整程序代码如下:
Option Explicit
Private Declare Function SetParent Lib "user32.dll" ( _
ByVal hWndChild As Long, _
ByVal hWndNewParent As Long) As Long
Private Sub Form_Load()
Form2.Show
SetParent Form2.hWnd, Form1.hWnd
Form2.Move 0, 0
End Sub
VB用Show方法显示窗体时使用style属性为1,就可使显示的窗体以模式窗体显示。 Show 方法,用以显示 MDIForm 或 Form 对象。不支持命名参数。 说明 如果调用 Show 方法时指定的窗体没有装载,Visual Basic 将自动装载该窗体。
dim 一个窗体 as new form
with 一个窗体
.location=...
.size=...'这里是设置窗体的位置等属性
end with
一个窗体.show
软件bug。vb.net创建是会有窗体进行应用的,没有应用就是软件bug原因,需要用户将软件关闭,点击系统修复下载,再打开软件即可。