【发布时间】:2016-03-31 06:32:41
【问题描述】:
我同时激活了 Form1 和 Form2,Form2 有一个 TabControl,我希望 Form1 上的按钮单击事件来更改 Form2 上 tabControl 的“启用”属性
Form2 上的 TabControl 设置为 tabControl1.enabled = false;,Form1 充当 Form2 的登录表单,因此我需要 Form1 上的登录按钮来启用 Form2 上的“tabControl1”
我可以通过将private System.Windows.Forms.TabControl tabControl1; 设置为“Public”来访问该属性,但是,在 Form1 上使用以下按钮单击事件并没有做任何事情。
Form2 formnew2 = new Form2();
formnew2.tabControl1.Enabled = true;
谁能提供一个简单的例子来帮助我理解或链接到以前回答的问题
【问题讨论】:
-
要将控件设置为公开,不要更改设计器生成的代码,在您的
Form2设计器中,选择tabControl1并使用属性窗口更改@987654327 的Modifier属性@成为public。还要确保您正在显示您禁用它的选项卡控件的实例。此外,如果您在表单 2 的表单加载事件中设置tabControl1.enabled = false;,tabCorntrol 将被禁用。 -
@RezaAghaei 是的,这正是我想要的,默认情况下禁用 Form2 上的
TabControl。请注意,我可以通过 Form2 上的按钮单击事件启用TabControl(该按钮显然位于 Form2 上的TabControl之外),但我的目标是从 Form1 启用它。顺便说一句,感谢有关Modifier的提示。 -
@RezaAghaei 我从属性窗口将
tabControl1的Enable属性设置为false -
所以我怀疑你使用了错误的参考表格2。你可能有一个打开的表格2,但是你又错误地在这里创建了一个表格2的实例。您应该将表单 2 的实例传递给表单 1 并使用它,您也可以使用
Application.OpenForms找到表单 2 的实例 -
@RezaAghaei 谢谢,原来如此,我引用了一个新实例,而不是从 form2 传递一个实例。您能否发表您的评论作为答案,以便我接受它
标签: c# winforms visual-studio-2010 tabcontrol