问题标签 [visual-inheritance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
294 浏览

c# - 如何在基本表单中获取继承表单的大小?

假设您有一个名为的表单FormBase,并且所有其他表单都继承自该表单。
例如,我有public class Form formTest : FormBase

我现在在 formTest 的 ctor 中拥有什么:

此代码将 的实例添加formTest到主窗体上的字典中size

这行得通,但我想将此代码移动到,FormBase因此我不必将这行代码放在每个继承的形式中。

现在,问题是当我这样做时,设计时size的大小将是FormBase,而不是formTest.

有没有办法FormBase捕获继承自的大小formTest或任何其他形式FormBase

供参考,这是AddToFormSizesMainForm 中的代码

0 投票
3 回答
85 浏览

c# - 如果继承的表单订阅了 Show 事件,我可以在父表单中知道吗?

我的 winforms 框架中有以下表格

  • FormBase(继承自 Form)
  • FormBaseList(继承自 FormBase)
  • FormBaseDetail(继承自 FormBase)

现在应用程序中的每个表单都继承自上述 3 个表单之一。
例如FormCustomerList将继承自FormBaseList

现在FormBaseList事件FormBaseList_Shown存在(通过在 VS 的属性窗口中双击它)

我想在代码中知道FormBaseList_Show是否存在事件FormCustomerList_Show(再次在属性窗口中双击它)。

这甚至可能吗?

那我为什么要这个?
因为框架中的某些更改要求表单不再使用Shown事件,而是使用自定义事件。
如果他向表单添加事件,我想捕捉并向开发人员显示警告,Show如果确实需要,他可以设置一个隐藏此警告的属性。
这个警告不需要在设计时显示,在运行时就足够了。但是,如果它在设计时可能,那将是一个奖励。
那么这可以做到吗,是否有更好的方法来做到这一点?

我希望这个解释清楚

编辑

这个想法是,当开发人员使用 Show 事件时,他必须得到警告(在设计时或运行时)。如果他觉得他真的需要 Show 方法,他应该能够为这个特定的表单设置警告

0 投票
1 回答
66 浏览

delphi - 如果控件不可点击,我如何“恢复为继承”?

假设以下情况:

  • FrmBase有一个TPanel命名PnlClient,对齐alClient
  • FrmDescendant继承自FrmBase
  • FrmDescendant我改变一个PnlClient属性
  • FrmDescendant我放置另一个控件(比如另一个TPanel命名PnlDescendantPnlClient并对齐它alClient
    PnlDescendant现在完全覆盖PnlClient
  • 我在 上放置了许多其他组件PnlDescendant,不一定对齐,所以我害怕更改PnlDescendant(例如设置对齐alNone和调整大小)并丢失位置

如何执行“恢复为继承” PnlClient
主菜单或结构视图中控件的弹出菜单中没有任何内容...

目前使用 Delphi 10.4.1 悉尼