主题:请问一下如何动态创建一个窗体(VB的)?
prairiewolf
[专家分:290] 发布于 2009-04-27 13:07:00
我已经做好一个窗体了,叫newform
我想在另一窗体里加个“新建”的按钮,点击一下,就新建一个newform的窗体。
不知道如何实现,一点想法都没有。
回复列表 (共7个回复)
沙发
天天学习 [专家分:4570] 发布于 2009-04-27 13:12:00
dim frm as newForm
set frm=new newForm
frm.show
3 楼
prairiewolf [专家分:290] 发布于 2009-04-27 13:25:00
大哥,还有一个问题,
如何判断远程连到本地的winsock数组里的是winsock(?)
4 楼
天天学习 [专家分:4570] 发布于 2009-04-27 13:36:00
如果你用控件数组的话,在控件的事件过程的参数里会有一个Index参数,用那个就可以区分是winsock(?)
如:
Private Sub Winsock1_Connect(Index As Integer)
Debug.Print Index
End Sub
5 楼
prairiewolf [专家分:290] 发布于 2009-04-27 14:41:00
大哥,你的说法应该没问题。
这样的,我每个winsock的来连接我,我这里都会自动产生一个form窗体与之连接。
假设有两个连接,就会有两个form窗体,
一、我想,在每一个窗体里得到,与这个窗体里的winsock相连的index。
二、我接收到数据后,还要判断数据是哪个winsock发来的,放到相应的form里,
于是,我就不知道,一个index变量怎么完成了。
6 楼
天天学习 [专家分:4570] 发布于 2009-04-27 15:23:00
为窗体增加一个属性或变量,用来记录与它相关联的winsock的index
如,在窗体里增加一个变量
public mWinsockIndex as Integer
其实,保存在窗体的tag属性里也是个可以考虑的做法
dim frm as newForm
set frm=new newForm
frm.Tag=winsock的index
frm.show
以后你需要时,可以从frm.Tag里取得
7 楼
prairiewolf [专家分:290] 发布于 2009-04-27 17:23:00
一个总的窗体A收到数据后,根据是哪个客户端发来的winsock数据,传到不同的窗体(B1、B2、B3)的text里,你这个,还是只有一个变量,你的意思我大概明白,但我还是不知道如何实现。
'A收到消息
Private Sub winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
On Error Resume Next
Dim strdata As String
winsock1(这里如何填,哪个发来的?).GetData strdata
form(这里如何填,传到哪个窗体).txtMessage.Text = form(这里如何填,传到哪个窗体).txtMessage.Text & strdata
End Sub
我来回复