【发布时间】:2021-06-13 10:31:10
【问题描述】:
我有一个 Windows 窗体,有一个窗格,其中包含另一个从 Windows 窗体派生的类。这包含在窗格中作为控件。它本身包含两个按钮。
我希望将子控件的事件一直传递到父窗口。例如,窗格中的子窗口有一个Cancel 按钮,应该关闭它。我希望父控件,即主窗口也关闭,但是如何拦截子控件的按钮单击事件?
我可以修改子控件,但只有在没有其他方法以适当的方式实现这一点的情况下,我宁愿避免它。
【问题讨论】:
-
您为问题提供的描述与标题不同。你到底想要什么?单击子控件时是否要引发父窗体的单击事件?单击子控件中的按钮时是否要关闭父窗体?还是别的什么?
-
用户将点击子控件上存在的按钮-除了子控件上的一些事件外,甚至父控件也需要执行某些操作,但我不确定是不是最好的方法向父控件发出信号,并且在子控件上触发了某些事件。这些操作可以是一般操作,例如关闭所有表单,也可以是更复杂的操作。但是父级需要知道在属于子控件的控件上触发了一个事件。
-
虽然您可以直接从子窗体与父窗体交互,但最好通过子控件引发一些事件并订阅父窗体中的事件。
标签: c# .net winforms user-controls controls