我需要在tabControl1_SelectedIndexChanged
Form1
致电Form2
我不知道这是怎么回事。
答案 0 :(得分:6)
通常,您不从其他类调用事件。想法是事件暴露订阅/取消订阅行为。实现可以选择来公开引发事件的方法,但它没有 - 如果你正在使用的控件没有为{{1}公开这样的方法事件,你不能强迫它。
目前尚不清楚您要实现的目标,但您可以通过编程方式选择相应的选项卡 - 我希望能够提升相应的事件。而不是将标签控件直接从SelectedIndexChanged
公开到Form1
(我希望它只是占位符名称 - 给你的表单提供有意义的名称:),在Form2
中公开方法会更清晰执行相应选项卡的选择。这是在Form1
上执行的更有意义的操作 - 它不依赖于实现细节。另一方面,您可以使用MVP模式(或任何最适合您的模式)创建更清晰的设计。
答案 1 :(得分:3)
您应该以第一种形式创建一个公共方法,以执行您需要的逻辑。
然后,将第一个表单的实例传递给第二个表单,并在该实例上调用该方法。
答案 2 :(得分:2)
正如乔恩所提到的,你不应该公开......以下是我之前发布过的一些其他样本,它们明确地介绍了两种形式的创建以及如何来回传递。 Check these out