我爱Aspx >> Asp.Net >> .NET 窗体之间的交互.NET 窗体之间的交互
NET 窗体编程时应该牢牢把握下列原则:在访问窗体之前,你必须进行窗体实例化;如果在项目中有多处代码访问同一窗体,则你必须把它的同一实例指针传递给这些代码。对于早已习惯了直接把默认窗体实例当成全局变量来使用的 Visual Basic 6.0 程序员来说,这可是个严重的挑战。好在 .NET 为你提供了两条出路:其一,把窗体实例指针保存在全局变量中;其二,把窗体实例指针传递给任何需要访问它的窗体、类、模块或者过程。
.NET 中的数值全局化
Visual Basic .NET 不支持全局变量,然而它借助 Shared (相当于 C# 中的 static) 变量却能模拟全局变量。事实上,前面介绍的 Visual Basic 升级向导自动添加到窗体代码中的 DefInstance 属性就是 Shared 类成员。无论容纳 DefInstance 属性的窗体类是否已经实例化,它都能被项目中的任何代码所引用。象这样的 Shared 属性不就相当于全局变量吗?因此,你可以创建这样的类:
Public Class myForms
Private Shared m_CustomerForm As CustomerForm
Public Shared Property CustomerForm() As CustomerForm
Get
Return m_CustomerForm
End Get
Set(ByVal Value As CustomerForm)
m_CustomerForm = Value
End Set
End Property
End Class
你需要在首次实例化一个窗体时,把该窗体的实例保存到一个类中:
Dim myNewCust As New CustomerForm()
myNewCust.Show()
Ҷƪл˵?
ASP.net 验证码(C#)[05-20]
Snake.Net中的ORM(二)[05-20]
Autodesk官方最新的.NET教程(二..[05-20]
Autodesk官方最新的.NET教程(一..[05-20]
浏览.NET Framework 2.0 类型库中..[05-20]
.NET断想[05-20]
通过.NET Framework访问活动目录..[05-20]
从Windows DNA到.NET(3)[05-20]
从Windows DNA到.NET(2)[05-20]
从Windows DNA到.NET(1)[05-20]
ASP.net 验证码(C#)[05-20]
Snake.Net中的ORM(二)[05-20]
Autodesk官方最新的.NET教程(二..[05-20]
Autodesk官方最新的.NET教程(一..[05-20]
浏览.NET Framework 2.0 类型库中..[05-20]
C#冒泡算法![05-20]
利用Visual C#实现Window管道技术[05-20]
ReferenceEquals, == , Equals 比..[05-20]
C#2.0 新特性探究(二) 委托与匿名..[05-20]
C#2.0新特性探究之模拟泛型和内置..[05-20]