精华内容
下载资源
问答
  • 在一个程序项目中我们有时需要有多个窗体,可是又不想在设计时添加,而要在运行时添加。这时我们可以使用Object类型的数组,来实现运行时添加窗体。 我们先在程序中添加两个窗体Form1,和Form2,然后在Form1中添加一...
    在一个程序项目中我们有时需要有多个窗体,可是又不想在设计时添加,而要在运行时添加。这时我们可以使用Object类型的数组,来实现运行时添加窗体。
    我们先在程序中添加两个窗体Form1,和Form2,然后在Form1中添加一个按钮,点击它可以打开两个窗体。如图:![运行时加载多窗体1](https://img-blog.csdn.net/20180730131340593?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3VzZXJs/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
    
    接着我们在按钮Command1的Click事件中加入如下代码:
    Private Sub Command1_Click()
    

    Dim Forms(5) As Object
    Set Forms(0) = Form2
    Set Forms(1) = New Form2
    Load Forms(1)
    Forms(1).Show
    Load Form2
    Form2.Show
    End Sub

    这样我们就可以实现运行时加载窗体了。运行程序,点击Command1,效果如图:
    ![运行时加载多窗体](https://img-blog.csdn.net/20180730131712290?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3VzZXJs/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
    我们看到设计时我们只添加了一个Form2窗体,运行时却得到两个Form2窗体。
    
    展开全文
  • 第二个窗体代码: Public Class Form2 Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load End Sub End Class 现在调试第一个窗体的代码,点击第一个窗体的“开始”按钮后,却无法...
  • 如何在第二个窗体里使用第一个窗体的控件方法我想做一个简单的vb.net+数据库的使用,在from1的窗体里用了dataset,oledbdataadatper,oledbconnection,我想在第二个窗体里实现添加功能,可是使用,dataset的tables时是...
    VB.NET源码-156个实用实例哦…… 如何在第二个窗体里使用第一个窗体的控件方法
    
    我想做一个简单的vb.net+数据库的使用,在from1的窗体里用了dataset,oledbdataadatper,oledbconnection,我想在第二个窗体里实现添加功能,可是使用,dataset的tables时是错误的

    我怎样才能在第二个窗体addfrm里是用dataset

    还有就是如何把控件定义为公用的
    __________________________________________________________________________
    属性框中:modifiers:设置为public
    __________________________________________________________________________
    您可以将这些引用写在一个Module中,声明为Public。
    __________________________________________________________________________
    不行啊,modifiers 设置为public不可以阿,提示我dataset未声明,
    将引用写在一个Module中,如何写?
    __________________________________________________________________________
    from1的窗体 中 Public Shared dataset as New DataSet;
    from2的窗体 中 from1.dataset.Tables ......
    __________________________________________________________________________
    假如Form2是在Form1中打开的用
    dim f2 as new Form2(me) me代表Form1
    f2.show
    然后修改Form的new构造函数,增加一个参数 obj as Form2
    然后定义个窗体变量就可以得到一个指向Form1的对象了,你就可以借助它访问
    __________________________________________________________________________
    展开全文
  • 你必须掌握的VB窗体知识

    千次阅读 2020-09-16 09:55:57
    VB6之中,窗体是应用程序的重要组成部分,一个窗体对应一个窗口。在程序设计阶段,窗体是程序员的“工作台”,程序员在窗体上建立应用程序界面,在运行程序时,窗体是用户与计算机的交互界面。 窗体是VB中一类重要...

    窗体的概念

    在VB6之中,窗体是应用程序的重要组成部分,一个窗体对应一个窗口。在程序设计阶段,窗体是程序员的“工作台”,程序员在窗体上建立应用程序界面,在运行程序时,窗体是用户与计算机的交互界面。

    窗体是VB中一类重要的对象,作为对象,窗体同样具有自己的三要素:属性、事件和方法。此外,窗体还作为其它控件的容器,用于放置其它控件。

    在保存工程时,窗体会与工程文件保存在同一级目录下,窗体的扩展名为.frm格式,而工程的扩展名为.vbp格式。

    窗体的常用属性

    Name(名称)属性

    Name属性用于设置窗体的名称,在窗体被创建时,默认名称为Form1、Form2等。Name属性只能在属性窗口修改,所有控件的Name属性都在属性窗口的第一行。在使用对象属性、事件和方法时,务必确保使用了正确的Name名称。
    在这里插入图片描述

    例如,以下是Form1窗体在修改Name名称前和修改Name名称为frm1后,调用隐藏该窗体的方法语句对比:

    Form1.hide    ' 修改Name名称前
    frm1.hide     '改Name名称为frm1后
    

    Caption属性

    Caption属性用于设置窗体的标题,默认情况下,窗体Caption属性与Name属性一致。可以根据需要修改为其它标题,修改方法为:

    窗体名称.Caption="自定义标题"   
    

    Caption属性可以修改,也可以读取。读取Caption属性的方法为:

    变量名称=对象名称.Caption    '将对象名称赋值给变量
    

    获取其它可读属性值的方法与此语法一致。

    Height和Width属性

    Height和Width属性用于设置窗体的高度和宽度。默认单位是twip,1twip=1/567cm。通常使用twip单位设置即可。例如:

    Form1.Height=2000      '设置Form1窗体的高度为2000twip
    Form1.Width=3000       '设置Form1窗体的宽度为3000twip
    

    Left和Top属性

    Left和Top属性用于设置窗体在屏幕中的位置,Left是指窗体左上角距离屏幕左边的距离,Top是指窗体左上角距离屏幕上边的距离。如果是其它控件,如Commmand1按钮,则其Left和Top表示控件在窗体中的位置。具体关系如下图所示。

    在这里插入图片描述

    Enabled属性
    Enabled属性用于设置窗体(包含窗体中的控件)是否可被用户操作。默认值为True可用,当设置为False时,则禁止用户对窗体进行操作。语法为:

    ![Form1.Enabled=True  '设置窗体Form1为允许操作](https://img-blog.csdnimg.cn/20200916095249986.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zOTQzMzI5Mw==,size_16,color_FFFFFF,t_70#pic_center)
    
    

    ForeColor和BackColor属性
    ForeColor属性为窗体显示文本的颜色,BackColor用于设置窗体背景颜色。设置颜色的方法有三种方法,以黑色为例:

    方法一:Form1.BackColor=vbBlack    
    方法二:Form1.BackColor=QBColor(0)  
    方法三:Form1.BackColor=RGB(0,0,0)
    

    方法一中,vbBlack在VB中是表示颜色的常量,代表黑色,类似的常量还有vbGreen绿色,vbBlue蓝色,vbYellow黄色,vbRed红色等。

    方法二中,QBColor(参数),其中参数范围是0-15之间的整数,代表不同的颜色,参数为0时代表黑色

    方法三中,RGB(参数1,参数2,参数3),参数1、2、3范围分别是0-255之间的整数。

    Icon属性

    Icon属性可以为窗体指定一个图片作为窗体左上角的显示图标,同时也作为显示在任务栏中的图标。图片格式必须为.ico格式。

    AutoRedraw属性

    该属性为False时,窗体在变动后(移动窗体、最大化最小化窗体、加载窗体等),用print方法打印的文本,将不会被自动重画,效果是窗体上用print方法打印的文本在窗体变动时将被清除。当设置为True时,使用print打印的文本会被自动重画,而不会被清除,或者说清除后又被重新打印了。此方法同样适用于在窗体上绘图。

    窗体常用事件

    Load事件

    Load事件是窗体的加载事件,当一个窗体被加载到内存时,会触发Load事件。可以利用Load事件,初始化窗体级的变量,设置控件的属性值。

    Unload事件

    当一个窗体从内存中卸载时,将触发Unload事件。

    Initialize事件

    Initialize事件为窗体初始化事件,当应用程序创建窗体实例时会发生该事件。对于窗体而言Initialize事件发生在窗体的Load事件之前。通常可以利用 Initialize事件初始化窗体所用数据。

    Activate事件

    当一个窗体变为活动窗体时,即当窗体获得焦点时,将会触发该事件。

    Deactivate事件

    与Activate事件相反,当窗体不再是活动窗体,即失去焦点时,将触发本事件。

    Click事件

    单击窗体时,触发此事件

    DbClick事件

    双击窗体时,触发本事件

    窗体常用方法

    Cls方法

    Cls方法用于清除窗体重利用print方法打印的文本,不会清除窗体中控件及控件内的文本。语法为:

    Form1.Cls    
    

    Show方法

    Show方法可以显示一个窗体,该窗体如果没有被加载到内存中,将会优先触发一次Load事件。使用Show方法后,窗体将会优先于其它窗体显示在最前面。语法为:

    Form1.Show
    

    Hide方法
    Hide方法用于隐藏一个窗体,仅将窗体隐藏起来,但是不会从内存中卸载,窗体上的参数仍然保存在内存中,使用Show方法重新显示窗体后,窗体与隐藏之前保持一致。语法为:

    Form1.Hide
    

    Load方法
    Load方法用来将窗体加载进内存,将会触发窗体的Load事件,但是窗体未被显示。该方法同样适用于其它控件。语法为:

    Load Form1
    

    Unload方法
    用来卸载窗体,将窗体所使用的参数从内存中卸载,包括窗体中的所有控件,卸载后,将不会再占用计算机内存资源。使用Unload方法后,窗体将会达到Hide方法的隐藏效果。该方法同样使用于其它控件。语法为:

    Unload Form1
    

    如何创建多窗体
    通常新建一个工程后,系统会为我们自动创建一个窗体,默认名称为Form1,此时当我们项目需要再创建一个窗体时,可以通过菜单栏——工程——添加窗体,在弹出的添加窗体窗口中,选择默认窗口,即可创建一个新的窗体。或者可以,在工程资源管理窗口中,在Form1窗体上右键——添加——添加窗体。
    在工程资源管理窗口中,双击窗体,即可进入该窗体的编辑界面。

    在这里插入图片描述

    删除窗体
    删除不需要的窗体,通过在工程资源窗口,选中需要删除的窗体,右键——移除。

    窗体实战练习题
    目标:通过本练习,基本掌握熟悉窗体属性、事件和方法的使用方法。

    步骤一:
    按照下图,建立两个窗体。并分别将Name名称属性修改为:frmLog和frmMain,并将窗体的Caption标题属性修改为“登录界面”和"主界面"

    在这里插入图片描述

    步骤二:
    在第一个窗体,frmLog窗体上,新建一个命令按钮,并将Caption属性修改为"登录"。

    在这里插入图片描述

    步骤三:
    双击登录按钮,在其事件过程中写入如下代码:

    frmMain.Show   '显示frmMain窗体
    Me.Enabled = False  '禁止frmLog窗体再被操作
    

    在这里插入图片描述

    Me代表当前窗体的名称,此处即frmLog,可以用frmLog代替。

    步骤四:
    在第二个窗体(frmMain)编辑窗口中,按照下图所示,建立1个Text文本框和5个命令按钮控件。

    在这里插入图片描述

    步骤五:
    进入frmMain窗体代码编辑窗口,按照下图在对应的事件过程下编写如下代码:

    在这里插入图片描述

    其中End语句,是退出应用程序,即该应用程序包含的所有窗体和控件将会全部从内存卸载。

    步骤六:
    运行程序,测试效果。单击窗体左移,窗体将向左移动,移动距离为text1文本框中的数值,同样的单击窗体右移,窗体将会右移。修改text1文本框数值为200,单击隐藏窗体,窗体被隐藏,在frmLog窗体中单击登录,frmMain窗体重新打开,且Text1文本框内的数值仍是200,单击卸载窗体,窗体被关闭,再次打开后,Text1文本框内数值变为初始值100,这就是hide与Unload方法的区别。单击退出按钮,整个应用程序被关闭。

    在这里插入图片描述

    好了,本节课程到此结束,相信大家通过本节课程,已经对于窗体有了一个全面且深刻的认识了。下节课我们再见吧。

    展开全文
  • vb如何设置父窗体与子窗体——MDI窗体

    千次阅读 热门讨论 2020-06-02 11:01:02
    目前我理解的父窗体与子窗体的关系是:父...运行时会发现提示“只允许存在一MDI窗体”,这种错误我翻阅了前辈的博客,发现是sub Main里的一句代码导致的。 Sub Main() Dim flogin As New frmlogin flogin.Show vbMo

    目前我理解的父窗体与子窗体的关系是:父窗体包含子窗体。
    在这里插入图片描述
    想要达到这样的效果,首先要新建一个父窗体(MDI窗体)。
    MDI窗体上又不允许放置PictureBox以外的控件,但是Picture上面就能放置控件,所有只要先在窗体上铺上一张图片,在把控件放置在图片上就可以。
    运行时会发现提示“只允许存在一个MDI窗体”,这种错误我翻阅了前辈的博客,发现是sub Main里的一句代码导致的。

    Sub Main()
        Dim flogin As New frmlogin
        flogin.Show vbModal          'flogin显示模式窗口'
        
        If Not flogin.ok Then
            End
        End If
        flogin.Hide
        '将下面这两句屏蔽即可,然后再添加一句MDIFrmmain.Show'   
        Set fmain = New MDIFrmmain
        fmain.Show                  '显示主窗体'
    End Sub
    

    运行程序后又会发现子窗体都隐藏在了图片下面,此时可以用API函数来解决这个问题:

    第一步:

    外接程序——外接程序管理器

    第二步:

    找到API函数,选择“在启动中加载”与“加载/卸载”

    第三步:

    选中系统的模块Module1——外接程序——API浏览器——加载文本文件——WIN32API.TXT——打开

    第四步:

    搜索SetParent——添加——插入

    第五步:

    可以看到Module1中出现了这句代码:Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

    这句代码要放在模块里

    第六步:

    此时在MDI窗体里在对应的子窗体中写如下代码:运行一下,就会惊喜的发现成功了!

    Private Sub Return_card_Click()
        SetParent frmReturn_card.hwnd, MDIFrmmain.hwnd
        frmReturn_card.Show
    End Sub
    
    '或者'
    
    Private Sub Check_balance_Click()
        Call SetParent(frmCheck_balance.hwnd, MDIFrmmain.hwnd)
        frmCheck_balance.Show
    End Sub
    
    展开全文
  • VB讲课笔记06:窗体与常用控件

    千次阅读 2018-03-10 17:24:29
    VB讲课笔记06:窗体与...一个窗体对应一个代码模块。 1、窗体设计分类 (1)单窗体设计:应用程序中只包含一个窗体,即单文档窗体。 (2)多重窗体设计:应用程序中包含多个窗体,即多个单文档窗体。 (3)多...
  • 内容索引:VB源码,界面编程,时钟 超精美VB圆形时钟,超强自定义设置功能,另外还具有一很个性的功能,窗体穿透,也就是在窗体上点击鼠标的话,下层的窗体动作,把其本身隐藏了。本时钟原程序来自国外,再其基础上...
  • 在用VB.net对机房收费系统行进构重时遇到了些小问题,上对面一些问题行进总结。 一、MDI子窗体表现到Panel、PictureBox等控件前 常正情况下Mdi子窗体只能表现到父窗体的容器中,但是在设计时父窗体常常不能参加...
  • 多人聊天室 3目标文件 第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第三步:在登陆后的界面文本框输入文本...
  • 关于VB.NET中多窗体之间的调用,实现多窗体之间的打开,以及打开新窗体后对旧窗体的关闭
  • VB6.0和VB.NET对比

    千次阅读 热门讨论 2018-09-23 09:41:25
    首先它们一是完全面向对象的语言,而另一不是完全面向对象的,其次VB .NET是构建于.Net framework之上的。当然,它们同属Basic系列语言,又同为微软所开发,语法上有一定的相似或沿袭是很正常的,但不能因此认为...
  • Private Sub Form_Click() frm2.Form_Click() 在frm1 里执行 frm2 的 From_Click 代码 End Sub 
  • 其中运用到了一些技巧,比如使用wmp的控件,读取ini配置文件,滑动效果,界面美化等,呵呵,有地方有bug,没时间修改了,代码有点乱,第二个标签没有加入功能,设置保存也没有编写,实现起来也不难,如果有问题可以...
  • Vb.net调用子窗体

    千次阅读 热门讨论 2017-03-12 19:26:21
    方法一:  DimNewMDIChild As New Form3 ‘实例化子窗体Form3 ... NewMDIChild.MdiParent = Me ‘设置子窗体的父窗体为本窗体 ... NewMDIChild.Show() ‘显示子窗体 ... '声明SetParent函数,这是一API函数 
  • 【PC】自制QQ机器人(python+VB6)

    千次阅读 多人点赞 2019-08-28 17:21:43
    目前网上的那些QQ机器人都需要下载什么什么软件,我想自己弄QQ机器人,所有有了想法就去实现。 实现方法: 首先要先说明一下:两种语言要怎么沟通呢? 我一开始也寻思着,后来发现txt文档可以,不过比较慢。 主要...
  • 第一个窗体上有四个按钮,可以显示或隐藏第二个窗体,可以调用第二个窗体上的按钮。第二个窗体上有一个按钮,按钮的功能是产生一个信息框。当第二个窗体显示时,第一个窗体的按钮可以成功调用第二个窗体上的按钮,...
  • 其中运用到了一些技巧,比如使用wmp的控件,读取ini配置文件,滑动效果,界面美化等,呵呵,有地方有bug,没时间修改了,代码有点乱,第二个标签没有加入功能,设置保存也没有编写,实现起来也不难,如果有问题可以...
  • Option Explicit On ...'窗体最大化定义 Private FormOldWidth As Long '原始宽度 Private FormOldHeight As Long '原始高度 Public Sub ResizeInit(FormName As Form) Dim Obj As Control FormOldWidth = ...
  • vb中跨窗体传参数

    千次阅读 热门讨论 2018-03-22 21:13:34
    问题: 在机房收费系统中有一修改信息的功能。通过组合查询查到学生的记录,选中一行后,相当于选中了一...一小部分测试:窗体传参 我先在一测试窗体test1放置一次command控件,并写如下代码 1.定义了...
  • VB.NET(1)——创建窗口程序

    千次阅读 2020-04-11 21:43:05
    1.创建项目 下载Visual Studio 2010及其以上的版本,作者是2013版。 文件->新建项目。 在弹出的对话框内,左侧选择其他语言,选择...我们需要在上面添加控件,每控件都是一对象,VB.NET是OOP(面向对象编程...
  • [VB] VB实现一个窗体的增删改查的demo

    千次阅读 2016-06-27 13:18:35
    每次都要单独处理,费时费力,考虑通过一个窗体进行封装。(借鉴当时接触的某家公司的套路) 外围在调用时,传入sql字符串,展示字符串,然后 被调用窗体根据传入的信息进行排版展示。 同时通过设置 增删改查...
  • VB.Net 两个窗体之间的传值及修改

    万次阅读 热门讨论 2013-11-26 01:07:51
    在做机房收费系统,遇到这样一问题:在上下机窗体(FrmLoadOnff)中,存在一文本框(txtCountOnline)显示当前上机的学生数。在查询学生上机状态的窗体中,存在全部学生下机菜单(menuAllLoadoff)、和选中学生...
  • VB二级\分章节考题\十三章 多窗体程序设计(考题).
  • vb.net的多窗体操作

    千次阅读 2012-02-09 09:14:11
     在微软Visual Basic 6.0 中,一条简单的 “Form2.Show” 语句就能显示项目中的第二窗体 (Form2)。然而,它在 Visaul Basic.NET 中却行不通了,因为 .NET 版在窗体处理机制上有了很大的变化。刚刚转向 .NET 版的 ...
  • Vb程序设计,现有两文本框控件和一按钮控件(3).txt
  • Visual Basic 的 Windows PrintForm 方法提供了一种打印窗体的工作区的方法。但是,PrintForm 不允许您控制大小或在打印输出的比例,或打印窗体在非工作区 (标题和边框)。下面的代码示例将使用 Windows API 函数来...
  • 通过执行一段VBS代码来操控窗体内的控件也可以使用AddObject方法添加自己的类,那么在动态VBS代码中也一样可以使用在增加程序扩展性或是有脚本化需求的时候,这方法还是不错的. Option Explicit Dim vbs As ...
  • 第二个中写:form3.show() form2.Dispose() 第三个中写:form4.show() form3.Dispose() 不知道能不能节省点资源 __________________________________________________________________________ 关闭一个窗体的...
  • 版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业...其实下面的那个容器是Panel加上一Label做的。 基本上,容器都是用来放置其它控件的,在容器中的控件受...
  • vb.net 教程 3-11 窗体控件综合编程 1

    千次阅读 2017-06-02 21:34:23
    通过之前的学习,大家对窗体和控件知识已经有了初步的理解,本节开始将进行一些综合编程训练。 先从简单开始,综合编程1 计算器。 先考虑一下计算器的设计,可以参考windows的计算器。最基本那种就可以了。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,273
精华内容 4,909
关键字:

vb如何运行第二个窗体