如何从form1中调用事件?

时间:2011-12-13 17:03:02

标签: c# .net winforms

我需要在tabControl1_SelectedIndexChanged

中的Form1致电Form2

我不知道这是怎么回事。

3 个答案:

答案 0 :(得分:6)

通常,您从其他类调用事件。想法是事件暴露订阅/取消订阅行为。实现可以选择来公开引发事件的方法,但它没有 - 如果你正在使用的控件没有为{{1}公开这样的方法事件,你不能强迫它。

目前尚不清楚您要实现的目标,但您可以通过编程方式选择相应的选项卡 - 我希望能够提升相应的事件。而不是将标签控件直接从SelectedIndexChanged公开到Form1(我希望它只是占位符名称 - 给你的表单提供有意义的名称:),在Form2中公开方法会更清晰执行相应选项卡的选择。这是在Form1上执行的更有意义的操作 - 它不依赖于实现细节。另一方面,您可以使用MVP模式(或任何最适合您的模式)创建更清晰的设计。

答案 1 :(得分:3)

您应该以第一种形式创建一个公共方法,以执行您需要的逻辑。

然后,将第一个表单的实例传递给第二个表单,并在该实例上调用该方法。

答案 2 :(得分:2)

正如乔恩所提到的,你不应该公开......以下是我之前发布过的一些其他样本,它们明确地介绍了两种形式的创建以及如何来回传递。 Check these out