【发布时间】:2013-10-04 17:20:13
【问题描述】:
我正在使用MDI container 运行我为客户创建的业务应用程序。
因为使用MDI 意味着当我打开几个表单时,它们仍然会一直在后台运行,直到我手动关闭它们。
我需要制作User Control 或任何其他可以在选项卡表单中预览所有打开的表单的东西,这样我的客户就可以轻松关闭所有或部分打开的表单,而无需关闭他正在查看的表单。
现在我已经使用了这个代码,所以现在只有第一次点击的菜单项显示为按钮,而不是其他人点击的菜单项。
Private Sub MenuStrip1_ItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles MenuStrip1.ItemClicked
Dim Button As New Button
Me.Panel5.Controls.Add(Button)
Button.Text = e.ClickedItem.Name
Button.Width = 50
Button.Height = 25
End Sub
现在我需要编写一个代码来添加更多按钮,也应该添加一个代码用于仅当我单击 SubMenu 项时添加按钮(单击时出现新表单)。
而且,我现在应该在预览的 User-Button-Control 中添加一个小 Close 按钮。
【问题讨论】:
-
您只是在寻找一种自动化按钮创建过程的方法? (添加具有某些属性的按钮和单击事件)?选项卡控件在哪里出现?
-
是的,我猜。我将其命名为 Tab Control,因为我希望它看起来像 TAB,仅此而已。
-
那你想依赖tabControl而不是面板?你想要每个标签一个按钮?
-
我现在用 TableLayoutPanel 代替了 Panel,效果还不错。那是在我单击菜单时添加新按钮,但只有我单击的父菜单项,所以基本上没有发生任何事情,因为这些项目没有调用任何要打开的表单。我需要以某种方式使该 MenuStrip_ItemClicked 事件仅在我单击的菜单项调用某些表单时才显示新的按钮控件。
-
我写了一个小代码来告诉你如何在运行时处理按钮。了解此代码,您将不会发现任何问题来适应您的确切需求。