网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VB.net > 正文
VB.NET中的多窗体编程:升级到 .NET
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
tomerForm 属性值就是你的窗体实例。于是,其它代码就能从项目的任何地方通过它来间接访问你的窗体了:
Module DoingStuffWithForms
Sub DoExcitingThings()
myForms.CustomerForm.Text = _
DateTime.Now().ToLongTimeString
End Sub
End Module
象这样把窗体实例保存为属性值就能按照你的要求模拟 Visual Basic 6.0 中的全局变量。如此模拟的“全局变量”其作用域比类域 (class scope) 高一个层次。所谓类域,是指变量仅仅在定义它的类(确切地说,应该包括模块、类或窗体)中有效。比类域还低一层次的是过程域 (procedure scope),即变量仅仅在定义它的例程中有效。
窗体指针在项目中的传递
除了把窗体实例全局化以外,你还可以把窗体类指针保存在变量中传递给需要访问该窗体的例程。假设你有一个窗体 Form1,并希望在点击 Form1 中某个按钮 (Button1) 时打开另第二窗体 Form2 ,然后在点击第二窗体 Form2 中的另一个按钮 (Button2) 时进行某项计算。你可以把整个代码都写在 Form1 中,即:
Public Class Form1
Inherits System.Windows.Forms.Form
Dim myForm2 As Form2

Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
myForm2 = New Form2()
myForm2.Show()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button2.Click
Calculations.CompoundInterestCalc(myForm2)
End Sub
End Class
无论是把窗体指针全局化,还是把它以参数的形式传递,都是可行的。然而,你必须根据项目的需要选择最佳方案。当 .NET 项目中只有少数几个过程需要访问特定窗体时,我建议你给这些过程增加一个参数,以在必要时接受窗体指针。当你的项目有太多过程需要访问该窗体时,你就应该考虑设置一个全局窗体指针变量。当然了,你最好还是考虑调整项目代码结构,使得真正访问该窗体的类或者过程只有一个。如果你希望用窗体来显示登录信息,则你可以先创建一个类,把窗体实例保存为它的 Shared 类成员,然后添加一个 Shared 方法 WriteToLogWindow 来完成实际的窗体访问。于是,项目中的任何代码只需调用此 WriteToLogWindow 方法就能间接访问显示登录信息的窗体了:
Public Class Log
Private Shared m_LogForm As Form2
Public Shared Property LogForm() As Form2
Get
Return m_LogForm
End Get
Set(ByVal Value As Form2)
m_LogForm = Value
End Set
End Property

Public Shared Sub WriteToLogWindow(ByVal Message As String)
Dim sb As New _
StringBuilder(m_LogForm.txtLogInfo.Text)
sb.Append(Environment.NewLine)
sb.Append(Message)
m_LogForm.txtLogInfo.Text = sb.ToString()
End Sub
End Class
读取和改变窗体内的信息
到现在为止,我们讨论的只是如何创建和访问窗体实例,而没有涉及如何读取或改变窗体内的信息。如果你的窗体已经按照前述方法实例化,并且访问窗体的代码都位于窗体所在的项目中,则你可以直接操作窗体中的任何控件来读取和改变窗体内的信息。但我觉得这样并不理想。与其直接访问窗体中的文本框、按钮等控件,还不如增加一个 Public 属性,通过它来控制窗体中的控件。如果你有意尝试这种特殊的窗体访问方式,请跟我来:
在 Visual Basic .NET 中新建一个 Windows 应用程序项目。
此时项目中已经自动生成了一个窗体 Form1 。现在添加另一个窗体 Form2 :在“解决方案资源管理器”中按右键单击项目名称 -> “添加” -> “添加 Windows 窗体” -> 点击“打开”以接受默认名称 Form2.vb 。
在 Form1 中添加两个按钮,分别按照默认值命名为 Button1 和 Button2 ,并且调整它们在窗
  • 上一篇资讯: 使用VB.NET开发定制控件
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号