以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  AddHandler 控件.事件, AddressOf 过程名 如何传参  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=191112)

--  作者:foxtablefanse
--  发布时间:2024/3/28 9:38:00
--  AddHandler 控件.事件, AddressOf 过程名 如何传参
点Ω弹出符号窗口,符号窗口动态加载控件,在全局代码加控件事件,
现在的问题是,我想在多个地方用这个符号窗口,需要在全局代码加控件事件里传入不同的窗口名及接受的输入框名,如保传参?
图片点击可在新窗口打开查看此主题相关图片如下:微信截图_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


--  作者:有点蓝
--  发布时间:2024/3/28 9:44:00
--  
把【Ω】按钮的名称改为这种:窗口名|输入框名称

比如:"新增物料管理|Sys_物料信息.规格型号"

然后根据按钮名称获取窗口和输入框

--  作者:foxtablefanse
--  发布时间:2024/3/28 10:00:00
--  
想到了用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

--  作者:有点蓝
--  发布时间:2024/3/28 10:13:00
--  
这种全局事件没有直接传插窗口控件参数的方法。要么使用全局变量,要么使用名称处理。

如果都是输入框,这种定义就行了

Dim gg = Forms(Vars("引用符号的窗口名")).Controls(Vars("引用符号的控件名")) ‘这里能不能直接传个窗口控件进去

--  作者:foxtablefanse
--  发布时间:2024/3/28 10:19:00
--  
谢谢!!!!