首页 > 编程 > .NET > 正文

转:Visual Basic.NET快速开发MIS系统(3)

2024-07-10 13:02:22
字体:
来源:转载
供稿:网友
  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • 生成继承窗体

      生成继承窗体

      我们的编程工作大部分都完成了,现在只需要增加新的继承窗体form就可,方法是在form项或项目菜单或工具栏选择添加继承的窗体,在弹出的form中输入窗体名frmuser按打开,在选择继承器中选择frmmodule确定就生成了一新的窗体。 继承的继承如下:

    public class frmuser:inherits frmmodel

      在生成的窗体中增加一些必要的控件,同时与根据表中字段对应关系设置的tabindex的值。

      通过设置控件tabindex的值,可以把该控件与物理表中的字段关系对应起来,如tabindex为1,则对应物理表的第1个字段,如tabindex为2,则对应物理表的第2个字段,如此例推。这方便把输入控件的数据写入表中,把网格数据写入输入控件中,这是技巧,其实现过程见方法:writedatetoarray(),datagridtotext()。

      指定物理表

      在类frmuser的new方法中指定所操作的物理表名tuser。为什么要在这里指定表名呢?是因为程序在调用frmuser前,先必须申请frmuser的实类,同时进行实类化,自动执行构造函数new(),执行new()时,就把我们所要完成的功能代码放在这里,让它们自动执行。

    public sub new()
     mybase.new()
     '该调用是 windows 窗体设计器所必需的。
     initializecomponent()
     gcls.updatetable = "tuser"
     '在 initializecomponent() 调用之后添加任何初始化
    end sub


      更改控件的属性,隐藏不需要的控件

      在 frmuser的load事件中更改datagrid1的标题并隐藏不需要的控件:

    private sub frmuser_load(byval sender as system.object, byval e as system.eventargs) handles  mybase.load
     datagrid1.captiontext = "用户列表"
     cbo.visible = false
     me.label6.visible = false
    end sub

      按同样方法,生成下面的窗体frminfo,在此窗体上增加一些新控件,如下:



      窗体frminfo类继承frmmodel:

    public class frminfo:inherits frmmodel
    在类frminfo的new方法中指定所操作的物理表名tinfo。
    public sub new()
     …
     gcls.updatetable = " tinfo "
    end sub

      现在,toolbar1上增加了新的方法"导入",应该怎样处理呢?事实上只要在frminfo的toolbar1_buttonclick事件中识别时"导入",写要处理的任务就可,如下:

    private sub toolbar1_buttonclick(byval sender as system.object, byval e as system.windows.forms.toolbarbuttonclickeventargs) handles toolbar1.buttonclick
     select case e.button.text
     case "导入"
      …
     end select
    end sub

      通过上面的窗体继承方法,凡是对物理表的操作都可以通过这些方法来完成,而不必再重复编写代码。
    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表