vb.net入门——使用Windows窗体实现自定义对话框
|
上一章,我们学了vb.net入门——Windows 窗体中的提示对话后,一定会怎么使用vb.net中的对话框了吧,但是很多情况下,vb.net预定义的对话框并不能满足我们的需要, 比如在一些前台营业的管理软件中需要弹出交款的对话框,该对话框需要向用户显示应缴纳的金额,并返回用户输入的收款金额以及应找的零钱,还有类似于员工管理软件,需要在一个对话框中输入员工的信息等,譬如这样的对话框都是需要我们使用Windows窗体来自定义的。 下面我们就通过一个实例来演示如何自定义对话框,该对话框要实现的功能是:通过对话框来实现一个简单货物档案的输入,要求输入货物名称、数量、单价。 一、创建一个能实现该功能的对话框的类 1、创建一个称为“GoodsDialog”的 Windows 应用程序 2、首先添加一个名为"GoodsDialog"的Form窗体。 3、从工具箱中拖放三个Lable控件,它们的Text属性分别为:货物名称、货物数量、货物单价。 4、从工具箱中拖放三个Textbox控件,第一个的Name为"GoodsName",Text属性为"货物名称",第二个的Name为"GoodsNum",Text属性为"货物数量",第二个的Name为"GoodsPrice",Text属性为"货物单价"。 5、从工具箱中拖放两个Button控件,一个的Name为"OK",Text属性为"确认",并将它的 DialogResult 属性设置为“OK”。第二个的Name为"Cancel",Text属性为"取消",并将它的 DialogResult 属性设置为“Cancel” 控件在窗体上的位置排列如下图一所示:
图一:各个控件的位置图示 6、为 Button 控件的每个 Click 事件创建一个事件处理程序,以关闭窗体,代码如下: Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click Me.Close() End Sub Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click Me.Close() End Sub 7、在窗体代码编辑区的头部位置找到该类的声明位置,确认它的类声明是如下代码: Public Class GoodsDialog 如果不是,请修改成上面的声明代码 8、创建一个名为 GoodsCoordinates 的新类,在该类中添加如下代码: Public Name As String Public Num As Integer Public Price As Decimal 9、返回“GoodsDialog”的代码编辑器中,在其中添加如下代码: Public ReadOnly Property GoodsCoordinates() As GoodsCoordinates Get Dim gc As New GoodsCoordinates gc.Name = Me.GoodsName.Text gc.Num = CInt(Me.GoodsNum.Text) gc.Price = CDec(Me.GoodsPrice.Text) Return gc End Get End Property 二、显示创建的对话框并使用对象检索数据 好了,经过上面的操作,我们已经把一个自定义的对话框做好了,下面就是通过一些必要的代码来使用它返回的数据。 1、向我们的项目中添加一个新的模块(Module1)。 2、建立一个检索数据的过程,执行以下操作: 显示对话框的一个实例,并创建一个引用变量,来引用用户输入到对话框中的数据。 Public Sub DisplayGoodsDialogBox() Dim dlg As New GoodsDialog dlg.ShowDialog() If dlg.DialogResult = DialogResult.OK Then "检索窗体返回的按钮信息,这里表示按的是OK按钮 Dim gc As GoodsCoordinates gc = dlg.GoodsCoordinates MessageBox.Show("货物名称:" & gc.Name.ToString & vbCr & _ End If End Sub 3、然后向Module1中添加主过程Sub Main(),并把它设置为启动对象,代码如下所示: Sub main() DisplayGoodsDialogBox() End Sub OK,代码已经写完了,现在我们按F5启动测试,首先会弹出如下的窗体:
图二:弹出了自定义的对话框 然后在对话框中输入如下图三所示的正确信息:
图三:在自定义的对话框中输入信息 点击确认,则弹出返回的信息,如下图五所示:
图四:返回检索的信息 这个示例只是一个简单的功能实现,我们还可以在代码中添加货物数量的检查,货物单价的检查,使其输入符合标准格式,还可以添加更多的功能进去。 我们这章到这里就结束了,下章请看:vb.net入门——Windows窗体中的菜单操作
源代码网供稿. |




