精华内容
下载资源
问答
  • 常正情况下Mdi子窗体只能表现到父窗体的容器,但是在设计时父窗体常常不能参加基本的互交控件,为了够能参加按钮、文本框等的基本控件我们常常在父窗体的容器内参加能作为容器的控件如Panel、PictureBox等的容器...

    最近笔者几篇文章介绍了改窗体方法的文章. 关联文章的地址

         在用VB.net对机房收费系统行进构重时遇到了些小问题,上对面一些问题行进总结。
    

    一、MDI子窗体表现到Panel、PictureBox等控件前
    常正情况下Mdi子窗体只能表现到父窗体的容器中,但是在设计时父窗体常常不能参加基本的互交控件,为了够能参加按钮、文本框等的基本控件我们常常在父窗体的容器内参加能作为容器的控件如Panel、PictureBox等的容器控件,于是在父窗体内方基本控件的困难处理了。
    摆放控件的问题处理了但是又涌现了新问题,父窗体中的控件和窗体的表现次序颠倒了,表现的子窗体被Panel等的容器控件挡住了,致使子窗体不能表现问题。经过水涉山跋,终究找到了几个处理办法。

    1、用使Controls属性将子窗体作为控件子集合表现到Panel等前

      有些控件可以作为容器用使如似类Panel、PictureBox等的控件,在向容器控件中参加其它控件时,这些子控件组合到一同成为一个控件集合,在这个控件集合中个每控件都有各自表现的次序。上面我们那Panel来举例(其它容器控件的法方雷同)。
      为了表现到Panel前我们可以用使Controls属性,将子窗体作为Panel的子控件表现。详细现实码代如下:
    

    '我们在frmQryBalance表现事件中加添该属性。

      Private Sub frmQryBalance_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Me.TopLevel = False
            frmMain.Panel1.Controls.Add(Me)
            frmMain.Panel1.Controls.SetChildIndex(Me, 0)
       End Sub
    
           面上的Add法方将frmQryBalance窗体作为子控件表现到了Panel中,SetChildIndex法方是设置子窗体的表现次序,0是将该窗体表现到有所子控件最后方。
    

    2、用使Parent属性将子窗体作为子控件表现到Panel等前
    码代如下:

    每日一道理
    

    如果只看到太阳的黑点,那你的生活将缺少温暖;如果你只看到月亮的阴影,那么你的生命历程将难以找到光明;如果你总是发现朋友的缺点,你么你的人生旅程将难以找到知音;同样,如果你总希望自己完美无缺,假设你的这一愿望真的能如愿以偿,那么你最大的缺点就是没有缺点。

    Private Sub frmQryBalance_Load(sender As Object, e As EventArgs) Handles MyBase.Load
           Me.MdiParent = frmMain
           Me.Parent = frmMain.Panel1
           Me.BringToFront()
      End Sub
    
        BringToFront是将控件移到 Z 次序的面前。 如果控件是另一个控件的子级,那么将子控件移到 Z 次序的面前。 BringToFront 不会使一个控件成为顶级控件。
    
           和该法方相反的一个法方名为SendToBack法方。将控件移到 Z 次序的面前。 如果控件是另一个控件子级,那么将子控件移到 Z 次序的面前。 如果控件为顶级控件,除非该控件为活动状态,否则此法方将没法确正运行。 顶级控件是似类 Form 的控件,它不是另一个控件的子控件。 活动控件是拥有入输点焦的可见控件。 若要对非活动的顶级控件用使 SendToBack 法方,首先要对该控件用调 BringToFront 法方。
    

    3、用调API法方SetParent

      在Visual Basic .Net中用使“平台用调”服务,明申Windows API函数主要有二种详细的现实法方: 
        ①用使DllImport征特类来明申Windows API函数。
        ②用使“Declare”语句来明申Windows API函数。
      这二种法方虽有殊途同归之效,但在繁简上却有很大差异,第一种法方明申程过比较复杂,很易容在明申Windows API函数时犯错,所以不并倡提。而第二种法方绝对单简,并且又保存了前以Visual Basic中的很多法语,所以在常平时大都用使这类法方来明申Windows API函数。
      详细现实法方如下:
    
    Declare Function SetParent Lib "user32" Alias "SetParent" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
      
       Private Sub frmQryBalance_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            setparent  me frmMain.Panel1
       End Sub
        
    
        现实法方还有很多,这儿就总结了三种,这三种其实都是有相似之处,都是把窗体作为子项目表现到Panel控件中,但对于在Panel中的排列次序还需要我们进一步行进探索。
    

    文章结束给大家分享下程序员的一些笑话语录: Bphone之你们聊,我先走了!移动说:我在phone前加o,我叫o缝;苹果说:我在phone前i,我是i缝;vb.net教程
    微软说:我在phone前加w,我叫w缝;三星说:你们聊,我先走了!
    将来王建宙写回忆录的java基础时候,一定要有一句“常小兵为中国移动的发展做出了不可磨灭的贡献”。

    展开全文
  • VB多重窗体程序 在我们 VB编程允许一个工程有多个窗体,每个窗体分别有自己代码和不同操作,从而实现复杂程序功能。下图是VB一个小型数据库软件程序,我们可以看到这个程序包含的窗体有多个。En多重...

    VB学习有难题,关注跟我学VB。 共同交流学习!

    学习只要开始,就永远不晚!

    fab26616358adb8ee4426c5df6cfe1f8.png

    3434406709c4ad3ed4eab4be58937427.pngVB多重窗体程序3434406709c4ad3ed4eab4be58937427.png

       在我们的 VB编程中允许一个工程有多个窗体,每个窗体分别有自己的代码和不同的操作,从而实现复杂的程序功能。

    下图是VB做的一个小型数据库软件程序,我们可以看到这个程序中包含的窗体有多个。

    c5c221dca39188d5681188629f54b260.png

    En多重窗体用到的有关语句

    Load  窗体名称 : 将窗体载入内存,但并不显示。

    UnLoad  窗体名称:将窗体从内存中消除。

    [窗体名称].Show  [模式]:显示窗体,模式有0(非模态)或1(模态)两种,默认模式为0。

    [窗体名称] .Hide  : 隐藏窗体(但是并不会从内存中消除)。

    指定启动窗体de637751de75b5651ce6d4887bb7682c.png

    方法:在VB的菜单栏--工程--工程属性对话框中--启动对象,可以指定我们首先要执行的窗体名。如下图:

    5606d4048453c38e19dcadd397eabf4c.png

    一个多重窗体程序必须要指定一个窗体作为启动窗体 

    选择“工程|工程属性”菜单命令,系统将弹出“工程属性”对话框,单击“通用”选项卡中的“启动对象”下拉列表框,从中选择启动对象 。

    多窗体程序的存取

    要保存一个多窗体程序时,可选择“文件|保存工程”或“工程另存为”菜单命令 ,分别保存窗体和工程文件即可;

    要打开一个多窗体程序,可选择“文件|打开工程”菜单命令,在弹出的对话框中,选择我们要打开该程序的工程文件即可(.vbp)。

    有学习问题可以添加老师微信号:vbyjk521 ,随时在线答疑。

    a7ada1e6e733797a7e2d047ec1b1b09b.png

    展开全文
  • Vb中窗体自定义坐标

    千次阅读 2010-05-21 20:36:00
    开始使用vb的时候喜欢用手画出那个控件位置.然后一个一个拖动,一点一点移动.直到感觉满意了为止.如果是控件多了这个就很麻烦了一不小心可能会将谋个控件拖到一边去所以,我们在以后作品尽量使用代码来定义...

    开始使用vb的时候喜欢用手画出那个控件的位置.然后一个一个的拖动,一点一点的移动.直到感觉满意了为止.如果是控件多了这个就很麻烦了

    一不小心可能会将谋个控件拖到一边去

    所以,我们在以后的作品中

    尽量使用代码来定义控件位置,,要灵活的掌握坐标位置.,可以使用自定义坐标.使用像素来更好的来分区显示控件.

     

     

     

    例如:

    具体定义方法:
    ScaleMode
    设成0
    ScaleHeight
    窗口的宽度,这个值不会影响窗体的显示大小,只是表示你把窗体垂直方向上分成了多少份
    ScaleWidth
    意义和ScaleHeight一样,是在水平方向上对窗体进行分割
    ScaleTop
    表示窗体的顶部用你的自定义坐标单位来表示是多少
    ScaleLeft
    ScaleTop一样,用自定义坐标单位表标窗体的左边起点
    注意:ScaleWidthScaleTop都是指窗体内部空间的位置,不包括标题和窗体边框

    举例来讲:

    如果窗体大小是(400300),在没有设成自定义坐标时,默认ScaleMode1(缇),这时窗体的左上角是(00),高度是300,宽度是400,这时的坐标(200150)是窗体的中心点,(400300)是窗体的右下角,现在我们改成自定义坐标,设置ScaleWidth=200ScaleHeight=-200(负值表示从上往下坐标值是递减的),ScaleLeft=-100ScaleTop=100,这时也就是说我们把窗体水平方向上分成了200份,左边起点是-100,这样右边终点就成了100,同样垂直方向上也分成了200份,顶部是100,底部是-100,这时在这个窗体上(00)就成了中心点了,(-100100)是左上角,(100-100)是右下角,这就跟我们小时候数学中的x-y坐标系一样了


     

    展开全文
  • 如何在窗体之间通讯几种方法VB.NET方案

    千次阅读 热门讨论 2012-05-27 16:26:20
    在面向过程程序,我们可以通过窗体名来访问其他窗体中控件或者数据,但是在面向过程却稍有不同,面向过程显示了它优点。  假设一个Window解决方案,有两个窗体Form1和Form2,Form1窗体中有一个...

          在面向过程的程序中,我们可以通过窗体名来访问其他窗体中控件或者数据,但是在面向过程中却稍有不同,面向过程显示了它的优点。


          假设一个Window解决方案中,有两个窗体Form1和Form2,Form1窗体中有一个DataGridView数据控件,如何在Form2中访问DataGridView中数据,即如何实现在这两个窗体之间通讯呢?


          第一种方法

          通过设置Form2窗体的构造函数,改为带参数的构造函数,传入一个对象,在设计模式中经常会传入类或对象,实现了对数据元素的封装,有些人通过传入一些具体参数,如字符串、控件等,无疑这种方式比较局限,扩展性很差,如果Form1中再增加新内容后,还需要改传递参数。


          Private mF_Form As Form1

          更改Form2的构造函数为有参数的

          Public Sub New(ByVal form As Form1)
               MyBase.New()
               '该调用是 Windows 窗体设计器所必需的。
               InitializeComponent()
               Me.mF_Form = form
            
          End Sub


          现在,就可以把Form1对象传入Form2中,这里对Form1的修改也是真正对Form1的修改,因此,也需要谨慎操作。


          在Form1中用到Form2的地方还需要加上一句话:

          Dim form1 As New Form2(Me)

      这是因为Form2的构造函数已经改变,实例化Form2时不再调用默认构造函数,需要我们指明参数,然后,实例化。
          这里的Me指的就是Form1当前的实例,也就是把当前Form1的实例通过Form2的构造函数传递给Form2类,否则出现   “错误对非共享成员的引用要求对象引用”


           第二种方法

           如果我们在Form2中,这样声明:Dim form1 As new Form1 

           我们知道此时form1是一个新的form1实例,不是我们要用的那个,我们只需让这个实例变成我们要用的那个即可。

            form1.Owner=Me

            这样就可以正常通讯了。


            有很多时候为了安全,我们还需要改一个声明级别,因为这样可以对原创题进行更改,很不安全。

            在C#等语言中,方法类型……





    展开全文
  • vb.netwinform(windows窗体)开发,实现组合框ComboBox显示值与返回值不同几种方法(里面有5种方法哟),在VB.net2010上编译通过,绝对可以运行,希望能给初学都以帮助,里面有详细解释加说明。觉得写得好,请加...
  • 在面向过程程序,我们可以通过窗体名来访问其他窗体中控件或者数据,但是在面向过程却稍有不同,面向过程显示了它优点。  假设一个Window解决方案,有两个窗体Form1和Form2,Form1窗体中有一个...
  • 最近做到上下机,找不到控制上机的窗体,后来突然发现上机的窗体就是窗体加载时显示在首页的窗体啊,但这些控件貌似是放在MDI主窗体。但是——小编惊讶发现,放不上去! 二、解决方法 1、使用PictureBox ...
  • 我用MDI方式打开一个子窗口体后,总是不能最大化显示,明明子窗口体的WindowState设置为Maximized?”,相信有很多人会遇到这的样问题,请按下面的方法设置即可使MDI子窗体最大化: 1、把父窗体的IsMdiContainer...
  • (主要是实现了程序“主窗体”选项卡操作,其余选项卡操作没有去完全实现。)  窗体属性修改专家是一款使用方便、小巧、实用的窗体控件测试工具,你可以用鼠标拖动(小精灵图标)到所有程序窗口上,本软件就...
  • VB.NET在子进程调用主进程控件的方法当前遇到的问题:VB.NET窗体应用程序。在主进程查询电脑网卡信息是个非常耗时的操作。实际的软件的应用影响windows窗体的加载速度。现想达到一个要求,就是将非常耗时的...
  • 我在将子窗体创建好时候,运行时不显示,查阅后才知道是因为在MDI窗体上添加了Picture控件原因,Picture把子窗体给挡住了 解决方法如下 1.首先要在模块声明一个SetParent函数(该函数功能就是改变某个子...
  •  本文介绍利用 VB6.0 的窗体对象、命令按钮控件对象、微软MsComm 控件对象、数组和用户自定义坐标系动态、连续、数字、波形地显示单片机实时 检测数据一种方法。 该显示方法的坐标系符合人们看图习惯,显示的...
  • 第一次机房重构的时候就遇到这个问题,这是VB6.0时写的方法 机房收费系统—MDI窗体与子窗体 在机房重构的时候是用的VB.NET写的,其实还是可以利用原先的代码的。只是不能再用PictureBox控件了,因为它不是容器,在它...
  • VB6.0Print方法

    千次阅读 2018-06-06 22:13:02
    1.Print方法 表达式: ...用来显示文本字符和表达式值。 表达式:   Object.Print   Obiect是对象名称,对象可以是窗体(Form)、立即窗口(Debug)、图片框(PictureBox)、打印机(Pr...
  • 在码农生活,很多级码农都有这样经历,会被一个小小技术问题拦住,然后进度跟不上了,被老板XXXX一大通了。心情不爽了。 好吧,这个曾经是我遇到拦路虎之一。但事实上不是什么大技术。技术就是一层纸,破了...
  • VB中Show方法详解.doc

    2010-07-02 13:59:42
    Modal:指定窗体显示的模式,可以为vbModal(=1)或vbModeless(=0,默认值),vbModal表示将窗体作为模式对话框显示,这种情况下,Show方法代码要等到模式对话框关闭之后才能执行,且焦点也不能移动到其他窗体...
  • VB中Show方法详解

    万次阅读 2007-04-10 09:22:00
    语法:窗体名.Show [Modal][,Owerner]说明:Modal:指定窗体显示的模式,可以为vbModal(=1)或vbModeless(=0,默认值),vbModal表示将窗体作为模式对话框显示,这种情况下,Show方法代码要等到模式对话框关闭...
  • MSChart的宽度和高度是随窗体变化而变化的,当窗体的大小改变或最小化、最大化后,曲线的显示就变正常了,刚刚还是黑色的几个点,变成了设定的红色,求高手指点原因,及自动显示正常的方法?我试过在绘图之后改变...
  • vb adobc TEXT显示数据库数据使用方法

    千次阅读 2017-02-27 17:44:28
    1. 首先选中ADBOC控件到窗体 2.设置ADBOC 属性页,选择使用数据源名称选中要使用数据库名称。 3.设置好登录服务器信息。 4.切换到数据源标签,命令文本输入 SQL语句...8.运行程序后 TEXT 选中字段将会显示到TEXT

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 208
精华内容 83
关键字:

vb中显示窗体的方法