vb.net - 从一个用户控件到另一个表单调用的问题

时间:2010-08-28 05:13:59

标签: vb.net devexpress

我有一个tabcontrol,它使用以下代码从我创建的“用户控件”(vb.net中的单独表单)创建标签页:( MainTab是我创建的单独的用户控件,其中包含文本框等)< / p>

Dim tmpTab As New MainTab
myTabControl.TabPages.Add()
Dim tmpTabCount As Integer = myTabControl.TabPages.Count
myTabControl.TabPages.Item(tmpTabCount - 1).Controls.Add(tmpTab)
myTabControl.TabPages.Item(tmpTabCount - 1).Text = "Untitled"

我正在使用devexpress xtratab控件,因此代码可能看起来与默认的vb.net选项卡控件略有不同。

现在在我的MainTab用户控制文件文件中,我无法终身了解如何在form1中调用控件,其中放置了xtra选项卡控件。 “Me.Parent.Dispose”用于在通过MainTab控件执行时关闭选项卡,但这是我可以与父进行通信的时间。

有谁知道解决方案?我不确定是否必须在MainTab用户控件中引用某些内容,或者为了与默认form1上的任何对象进行通信。

1 个答案:

答案 0 :(得分:1)

一般来说,我避免让我的孩子控制认识父母。它比我照顾的更频繁地导致不愉快的耦合。

考虑将自定义事件添加到您的表单可以订阅的MainTab类中。当您想要将消息传递给表单时,您的用户控件可以调用该方法,并且您的表单的事件处理程序可以相应地处理它。此模式通过减少对其父级的依赖性,有助于将用户控件插入其他形式。

在这篇MSDN文章中讨论了在Windows窗体中创建用户控件事件:

http://msdn.microsoft.com/en-us/library/aa302342.aspx