点Ω弹出符号窗口,符号窗口动态加载控件,在全局代码加控件事件,现在的问题是,我想在多个地方用这个符号窗口,需要在全局代码加控件事件里传入不同的窗口名及接受的输入框名,如保传参?
此主题相关图片如下:微信截图_20240328093203.png
此主题相关图片如下:微信截图_20240328093058.png
'全局代码网格控件布局
Public Sub UserControl1_ItemClicked(sender As Object, e As Navigation.UserControl.Item)
If e.Name <> "关闭" Then
Dim gg As WinForm.ComboBox = Forms("新增物料管理").Controls("Sys_物料信息.规格型号")
gg.Value = gg.Value + e.Name
End If
sender.FindForm().Close()
End Sub
把【
Ω】按钮的名称改为这种:窗口名|输入框名称
比如:"新增物料管理|Sys_物料信息.规格型号"
然后根据按钮名称获取窗口和输入框
想到了用vars变量传参,但不同窗口内的输入框类形要一样。进一步,全局代码里有没有直接传插窗口控件参数的方法,这样就可以用不同类型的输入框
'网格控件布局
Public Sub UserControl1_ItemClicked(sender As Object, e As Navigation.UserControl.Item)
If e.Name <> "关闭" Then
Dim gg As WinForm.ComboBox = Forms(Vars("引用符号的窗口名")).Controls(Vars("引用符号的控件名")) ‘这里能不能直接传个窗口控件进去
gg.Value = gg.Value + e.Name
End If
sender.FindForm().Close()
Vars("引用符号的窗口名") = Nothing
Vars("引用符号的控件名") = Nothing
End Sub
这种全局事件没有直接传插窗口控件参数的方法。要么使用全局变量,要么使用名称处理。
如果都是输入框,这种定义就行了
Dim gg = Forms(Vars("引用符号的窗口名")).Controls(Vars("引用符号的控件名")) ‘这里能不能直接传个窗口控件进去