【发布时间】:2025-12-10 19:45:02
【问题描述】:
我有一些这样的代码:
If m_frmParent.Name = "formA" Then
Dim formTest = CType(m_frmParent, formA)
formTest.pnlHeader.pnlPending.RefreshMedicationMonitoring()
End If
------------ 或
If m_frmParent.Name = "formB" Then
Dim formTest = CType(m_frmParent, formB)
formTest.pnlHeader.pnlPending.RefreshMedicationMonitoring()
End If
这些表单具有相同的用户控件 pnlHeader,其中包含 pnlPending 用户控件
pnlHeader.pnlPending.RefreshMedicationMonitoring()
请帮助我将其更改为可用于每种形式的通用函数。 谢谢!
【问题讨论】:
-
创建
FormA和FormB继承的抽象基类。要么将RefreshMedicationMonitoring的逻辑放到基类中,要么将其定义为 MustInherit 并在子窗体中实现。然后直接从frmParent.pnlHeader.pnlPending.RefreshMedicationMonitoring()调用您的代码,然后 polymorphis m 将为您完成剩下的工作。 -
pnlPending 也是 pnlHeader 用户控件中的用户控件。感谢您的解决方案,但实现起来似乎并不简单
-
将用户控件添加到您的基类中。