重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在 VB.NET 中,你编好的窗体仅仅是一个类而已,不像 VB6,窗体本身就是一个对象。就是说,如果要显示窗体,你需要将你编的窗体类实例化对一个对象,然后再调用这个对象:
为正镶白等地区用户提供了全套网页设计制作服务,及正镶白网站建设行业解决方案。主营业务为成都网站设计、成都做网站、正镶白网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
Dim frm As New frmDlg ' 将 frmDlg 窗体类实例化为对象 frmfrm.Show() ' 将实例化的对象显示出来
分析:窗体之间的数值传递有3种方案。分别是通过公共变量、接口和事件委托。我给你说说通过接口来在窗体之间传递数据吧。
显示"第一位成绩":从form2传值到form1,显示排序,需要传递一个datatable.
为了方便起见,这两个数据都从datatable里面来。
1、首先定义一个公共接口(新建项)(假设传递的是
Public Interface ITransferText
Sub 数据传输(ByVal tText As datatable)
End Interface
2、在form2和form3中加入代码:
Private 数据发送 As ITransferText
Sub New(ByVal iTrans As ITransferText)
Me.iTransferLink = iTrans
InitializeComponent()
End Sub
‘在form2和form3的一个按钮事件中加入:
数据发送.数据传输(dt)
me.dispose
'当然,你需要在这之前将需要传输的东西装类型为datatabe的变量dt中。
3、在form1中加入代码:
(1)Public Class Form1
Implements ITransferText
(2)、sub…点击后form2显示,通过form2操作生成第一位成绩事件…
Dim newFrm As New Form2(Me)
newFrm.Show()
end sub
、sub…点击后form3显示,通过form3操作生成绩列表,然后传递…
Dim newFrm As New Form3(Me)
newFrm.Show()
end sub
(3)当然你还需要在form1中用个方法实现接口
Sub 数据接收(ByVal dt As datatable) Implements ITransferText.数据传递
这里如果dt只有1行1列就更新你的第一名成绩
如果多行,就再你的form1上显示这个表dt就行了。
end sub
首先引入那个项目的命名空间,在代码最上方用Imports语句,比如
Imports Project1
然后在需要用的地方写
Dim aform As New MyForm1()
然后通过aform对象的Show方法(弹出普通窗口)或ShowDialog(弹出窗口时后方窗口无响应)方法来显示窗口,最后调用Dispose方法释放对象内存。
VB.NET 里面会有一个main方法表示函数的入口
main方法的参数就是命令行传给它的
shutdown.exe能直接调用是因为你的环境变量有C盘的windows目录
你只要在你程序的输出目录(一般为bin)里面打开命令行输入程序名称.exe就可以直接执行你的窗体
如果你要调试输入命令的效果,你打开你项目的属性,找到调试里面的命令行参数,在里面输入测试参数就能在你main函数里面看到结果了
那如果你想打开任何命令行都可以执行你的窗体程序,那你把你程序的安装目录设置为环境变量,这样就可以直接执行这个命令了
既然子窗体都有同名函数,就应该对子窗体进行一层封装,子类实现不同方法
Public MustInherit Class AbstractChild
Public MustOverride Sub Method1()
End Class
Public Class ChildClass1
Inherits AbstractChild
Public Overrides Sub Method1()
MessageBox.Show("class1")
End Sub
End Class
Public Class ChildClass2
Inherits AbstractChild
Public Overrides Sub Method1()
MessageBox.Show("class2")
End Sub
End Class
Public Class ChildClass3
Inherits AbstractChild
Public Overrides Sub Method1()
MessageBox.Show("class3")
End Sub
End Class
Dim child1 As New ChildClass1()
Dim child2 As New ChildClass2()
Dim child3 As New ChildClass3()
child1.Method1()
child2.Method1()
child3.Method1()
调用窗口的函数增加一个List参数,List记录要在gridview中显示的列。
比如你用ShowDialog之类的方法调用窗口,那么不要用系统默认的,自己写一个ShowDialogWithGrid函数取代;
含有gridview的窗口接受此函数调用的时候,对gridview重新初始化,然后再调用系统显示窗体方法ShowDialog