手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

Visual Basic.NET快速开发MIS系统

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!


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
  通过上面的窗体继承方法,凡是对物理表的操作都可以通过这些方法来完成,而不必再重复编写代码。

  新的要求

  现在假设有物理表tChange与tInfo表是一关联表,通过关键字段fID关联,既表tChange的字段fID的数据是通过tInfo表提供,其它来源于用户的输入,要生成tChange表数据处理的窗体。要实现这些功能,我们同样通过窗体的继承来完成(有物理表tSub也如此)。

  .先定义窗体模板frmModul2,此frmModul2继承frmModul, 即:Public Class frmModul2: Inherits Asset.frmModel。 在frmModul2中加入列表盒控制ListBox1和其它控制,布置好后如下图:


  .在frmModul2的Load事件中填充ListBox的数据并隐藏不必要的控件。

Private Sub frmModul2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles  MyBase.Load
 FillListBox(Me.ListBox1)
 Me.tlbAdd.Visible = False
End SubPublic

Sub FillListBox(ByVal ListBox As ListBox)
 Dim StrSQL As String
 StrSQL = "select Distinct fID || ' ' || fName as a FROM tInfo "
 Dim dr As OleDb.OleDbDataReader

 dr = DB.SQLDataReader(StrSQL)
 While dr.Read
  ListBox.Items.Add(dr.Item("a"))
 End While
 dr.Close()
End Sub

.当单击ListBox1时选择当前数据并填充至txt1, txt3中
Public Overridable Sub ListBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDown
 Dim i, txt
 i = ListBox1.SelectedIndex
 txt = ListBox1.Items(i)
 txt1.Text = txt.Substring(0, 15)
 txt3.Text = txt.Substring(16, Len(txt) - 16).trim
 txtID.Text = gCls.GetMaxSystemID 1
 gCls.FillGrid(DataGrid1)
 gIsUpdate = False
End Sub
  好了,我们的窗体模板又做好了,下面我们通过窗体模板frmModul2生成继承窗体frmChange,即:

Public Class frmChange:Inherits Asset.frmModul2
  生成的窗体如下图:


  依照前面设置所操作的表tChange和其它,不必写其它代码。

Public Sub New()

gCls.UpdateTable = "tChange"
End Sub
  同样可生成操作表tSub的窗体frmSub。



  总结

  通过以上面事例的介绍,可以生成若干同类似的窗体。不论操作多少表,都可通过窗体继承得到,物理表的操作一次性完成,不必在每个窗体中写代码,所完成的功能及界面布局全在模板窗体中完成。这样极大地降低了编写代码的工作量,同时为设置窗体整体外观提供以方便,提高了开发效率,也降低了软件的测试和维护的工作量。继承是面向对象的开发语言的一个重要组成部分,在程序设计中充分的利用继承关系,可以最大范围的提高程序的可利用性,使得用最少的代码开发比较大的应用程序。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

热点关注
IDC资讯 虚拟主机 域名注册 托管租用 vps主机 智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 价格总览 | 资讯中心 | 友情链接 | 网站地图 | 招贤纳士 | RSS