【发布时间】:2023-03-06 11:18:01
【问题描述】:
我正在开发一个应用程序,我正在尝试创建一个可以在整个应用程序中重复使用的通用搜索表单(表单 2)。
搜索表单将查看数据库并返回所选项目的 ID 值。
我可以使用表单(表单 2)作为对话框来执行此操作,只需将值返回给调用表单(表单 1),但我希望表单(表单 2)是非模态的并在之后保持打开状态值被传递。
我知道我只需调用 Form1.SubName(IDValue) 就可以做到这一点,但我不想手动(或使用 case 语句)指定表单名称,因为我可能有多达 10 个表单调用这个单一的搜索表单。
我尝试设置表单所有者并执行Me.Owner.SubName(IDValue),但收到错误'SubName' is not a member of 'System.Windows.Forms.Form'。
有没有办法可以将表单 2 中的值返回给表单 2 的所有者并在调用表单上调用过程?
【问题讨论】:
-
将其转换为正确的类型(使用 TryCast)。您可以使用可以启动此搜索器的每个表单都实现的接口。
-
我会尝试转换成什么,
Me.Owner已经是一个表单类型? -
因为
System.Windows.Forms.Form没有你的方法,所以你必须转换它以获得正确的类型(确实有这个方法)。