全面分析VB.NET窗体指针

开发 后端
这里介绍VB.NET窗体指针在项目中的传递,可以把VB.NET窗体指针保存在变量中传递给需要访问该窗体的例程。包括介绍VB.NET窗体指针全局化。

本文向大家介绍VB.NET窗体指针,可能好多人还不了解VB.NET窗体指针,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

VB.NET窗体指针在项目中的传递

除了把窗体实例全局化以外,你还可以把VB.NET窗体指针保存在变量中传递给需要访问该窗体的例程。假设你有一个窗体 Form1,并希望在点击 Form1 中某个按钮 (Button1) 时打开另第二窗体 Form2 ,然后在点击第二窗体 Form2 中的另一个按钮 (Button2) 时进行某项计算。你可以把整个代码都写在 Form1 中,即:

  1. Public Class Form1  
  2. Inherits System.Windows.Forms.Form  
  3. Dim myForm2 As Form2  
  4.  
  5. Private Sub Button1_Click(ByVal sender As System.Object, _  
  6. ByVal e As System.EventArgs) Handles Button1.Click  
  7. myForm2 = New Form2()  
  8. myForm2.Show()  
  9. End Sub  
  10.  
  11. Private Sub Button2_Click(ByVal sender As System.Object, _  
  12. ByVal e As System.EventArgs) Handles Button2.Click  
  13. Calculations.CompoundInterestCalc(myForm2)  
  14. End Sub  
  15. End Class  

无论是把VB.NET窗体指针全局化,还是把它以参数的形式传递,都是可行的。然而,你必须根据项目的需要选择***方案。当 .NET 项目中只有少数几个过程需要访问特定窗体时,我建议你给这些过程增加一个参数,以在必要时接受VB.NET窗体指针。当你的项目有太多过程需要访问该窗体时,你就应该考虑设置一个全局VB.NET窗体指针变量。当然了,你***还是考虑调整项目代码结构,使得真正访问该窗体的类或者过程只有一个。如果你希望用窗体来显示登录信息,则你可以先创建一个类,把窗体实例保存为它的 Shared 类成员,然后添加一个 Shared 方法 WriteToLogWindow 来完成实际的窗体访问。于是,项目中的任何代码只需调用此 WriteToLogWindow 方法就能间接访问显示登录信息的窗体了:

  1. Public Class Log  
  2. Private Shared m_LogForm As Form2  
  3. Public Shared Property LogForm() As Form2  
  4. Get  
  5. Return m_LogForm  
  6. End Get  
  7. Set(ByVal Value As Form2)  
  8. m_LogForm = Value 
  9. End Set  
  10. End Property  
  11.  
  12. Public Shared Sub WriteToLogWindow(ByVal Message As String)  
  13. Dim sb As New _  
  14. StringBuilder(m_LogForm.txtLogInfo.Text)  
  15. sb.Append(Environment.NewLine)  
  16. sb.Append(Message)  
  17. m_LogForm.txtLogInfo.Text = sb.ToString()  
  18. End Sub  
  19. End Class  

【编辑推荐】

  1. 浅谈VB6.0实现多窗体交互
  2. 如何完成VB6.0项目升级
  3. VB.NET GroupBox控件学习经验
  4. 浅析VB.NET编写DEC加密程序
  5. 讲解VB.NET程序制作一个提醒程序
责任编辑:佚名 来源: IT168
相关推荐

2009-11-10 16:46:52

VB.NET指针应用

2009-10-28 10:04:53

VB.NET XmlW

2009-11-02 15:57:36

VB.NET WEB

2009-10-29 15:16:02

VB.NET文件传送

2009-11-04 10:54:53

VB.NET MOVE

2009-10-15 10:57:16

VB.NET Text

2009-11-03 17:35:05

VB.NET窗体透明度

2009-10-27 09:45:03

VB.NET数组

2010-01-11 15:12:30

VB.NET特殊窗体

2009-10-14 15:34:29

VB.NET窗体编程模

2009-10-09 16:54:03

VB.NET窗体

2009-10-16 13:04:57

VB.NET字符串数组

2009-10-16 09:35:24

VB.NET制作透明窗

2010-01-13 09:31:39

VB.NET窗体打印

2009-10-14 13:56:05

VB.NET数据窗体

2009-10-28 17:44:31

VB.NET语言

2010-01-13 15:52:59

VB.NET浮动窗体

2009-11-10 15:07:11

VB.NET窗体

2009-10-26 17:53:50

VB.NET新窗体

2009-11-02 14:48:45

VB.NET HOOK
点赞
收藏

51CTO技术栈公众号