一个VB Project 中,怎样寻找form实例
在一个mdi 中,可以查找每个mdichild,但在普通的form中,怎样寻找form实例。
类似实现qq这样功能的,当判断到有发送人窗体时,就active,否则,则创建一个新的窗体。针对不同的发送人,创建多个窗体。(不是MDI)谢谢。
[解决办法]
[解决办法]
一般来说实现楼主的要求会采用以下2个方法:
1、不对新窗口进行控制
New 一个窗口后,其他窗口或进程不会访问该窗口中的内容,可以采用这个方法
直接用零时变量New完后显示窗口,所有相关操作(例如保持、打开,关闭自己的事件等)都在窗口类中实现
2、其他窗口需要访问新窗口
这种不能New完拉倒,要用变量(或数组,集合等)保存起来,将来查找时,你可以直接对变量进行查找
[解决办法]
你把下面这段代码拷进你的项目里去:
- VB.NET code
#Region "FormCollection"Public Class FormsCollection : Implements IEnumerable Private c As New Collection() Public Sub Add(ByVal f As Form) c.Add(f) End Sub Public Sub Remove(ByVal f As Form) Dim itemCount As Integer For itemCount = 1 To c.Count If f Is c.Item(itemCount) Then c.Remove(itemCount) Exit For End If Next End Sub Public ReadOnly Property Item(ByVal index As Integer) As Form Get Return CType(c.Item(index), Form) End Get End Property Public ReadOnly Property Count() As Integer Get Return c.Count End Get End Property Overridable Function GetEnumerator() As _ IEnumerator Implements IEnumerable.GetEnumerator Return c.GetEnumerator End FunctionEnd Class#End Region