遇到一菜题:在程序中,一个窗体的控件要用户输入值(如单位名称),为了让用户可选择预先保存的值,此时可以弹出另一含有TREEVIEW的窗体,让用户在其中选择,双击一节点,其值自动填入前一窗体的相应TEXT中(有几个TEXT,但只能填入调用后一窗体的TEXT中),而后一窗体自动消失.我用过SETWINDOWTEXT函数和几个PUBLIC变量配合来传递选中的节点值,可以实现,但效果不好.期待有更好的解决方法.
调试欢乐多
...form2_onunload
form1.............
Form2.Show
End Subform2
Private Sub Form_Load()
Me.TreeView1.Nodes.Add , , , "1"
Me.TreeView1.Nodes.Add , , , "2"
Me.TreeView1.Nodes.Add , , , "3"
Me.TreeView1.Nodes.Add , , , "4"
Me.TreeView1.Nodes.Add , , , "5"
Me.TreeView1.Nodes.Add , , , "6"
Me.TreeView1.Nodes.Add , , , "7"
Me.TreeView1.Nodes.Add , , , "8"
Me.TreeView1.Nodes.Add , , , "9"
Me.TreeView1.Nodes.Add , , , "10"
End SubPrivate Sub TreeView1_DblClick()
Form1.Text1.Text = Me.TreeView1.SelectedItem.Text
Unload Me
End Sub不知道我理解正确没有
Form2.Show vbModel
End Subform2
Private Sub Form_Load()
Me.TreeView1.Nodes.Add , , , "1"
Me.TreeView1.Nodes.Add , , , "2"
Me.TreeView1.Nodes.Add , , , "3"
Me.TreeView1.Nodes.Add , , , "4"
Me.TreeView1.Nodes.Add , , , "5"
Me.TreeView1.Nodes.Add , , , "6"
Me.TreeView1.Nodes.Add , , , "7"
Me.TreeView1.Nodes.Add , , , "8"
Me.TreeView1.Nodes.Add , , , "9"
Me.TreeView1.Nodes.Add , , , "10"
End SubPrivate Sub TreeView1_DblClick()
Form1.Text1.Text = Me.TreeView1.SelectedItem.Text
Unload Me
End Sub
Set CurrentTextBox = Text1 '全局变量赋值
Form2.Show
End SubPrivate Sub Text2_DblClick()
Set CurrentTextBox = Text2 '全局变量赋值
Form2.Show
End Sub
form2
Private Sub Form_Load()
Me.TreeView1.Nodes.Add , , , "1"
Me.TreeView1.Nodes.Add , , , "2"
Me.TreeView1.Nodes.Add , , , "3"
Me.TreeView1.Nodes.Add , , , "4"
Me.TreeView1.Nodes.Add , , , "5"
Me.TreeView1.Nodes.Add , , , "6"
Me.TreeView1.Nodes.Add , , , "7"
Me.TreeView1.Nodes.Add , , , "8"
Me.TreeView1.Nodes.Add , , , "9"
Me.TreeView1.Nodes.Add , , , "10"
End SubPrivate Sub TreeView1_DblClick()
'Form1.Text1.Text = Me.TreeView1.SelectedItem.Text
Form1.CurrentTextBox.Text = Me.TreeView1.SelectedItem.Text '全局变量属性赋值
Unload Me
End Sub这样基本上就通用了,其实也不一定要声明全局变量的,只是这时要在form2中调用API得到form1的当前活动控件就可以了