在我的form1类中,我使用设计器添加了许多按钮。即button1,button2.etc
在我的控制器类中,我创建了一系列按钮,如:
Btns[k,m] = new Button();
然后去:
Btns[1,1].Name = "button1";
Btns[1,1].Visible = False;
但这实际上并没有改变我的表单类上按钮的可见性。有谁知道为什么?
基本上在控制器中创建一个按钮名称数组,实际链接到form1类中的表单按钮。
答案 0 :(得分:3)
Button
与System.Windows.Forms.Button
之间没有区别,假设您using
System.Windows.Forms
并且没有歧义。
请勿使用新按钮覆盖Btns[k, m]
。也就是说,删除这一行:
Btns[k, m] = new Button();
如果设计师未设置Btns
并且其元素为null
,请将它们设置为从设计器创建的按钮:
Btns[1, 1] = button1;
答案 1 :(得分:0)
.Net框架中的Button类位于System.Windows.Forms包下。默认情况下,这已在Windows窗体应用程序中引用。在C#中你会看到
using System.Windows.Forms;
位于任何表单背后的代码顶部。如果它是VB.Net你可能看不到
Imports System.Windows.Forms
就像在C#中一样,但是如果你去解决方案资源管理器中的引用,你会看到引用已经存在。
由于您已经有了引用,因此只需键入Button或System.Windows.Forms.Button即可。如果您使用System.Windows.Forms,我们可以说它就像完全合格的路径。
例如,想想一所学校的一个特定的教室,(比如11年级的A班),拿一个名叫大卫的学生,想象你也在同一个教室里。因此,如果你想推荐他,你只需要叫他的名字David.Now认为你在另一个班级,你想要推荐他。所以在这种情况下,只是打电话给David并不足以识别他。你必须这样说。“大卫来自11年级A班”。现在再想一想,如果你们都在同一个班级,当你想要推荐他时,如果你称他为“11年级A级大卫”,而不是仅仅使用大卫,那就显得有些愚蠢。
因此,如果你在同一个类(=>你已经定义了使用System.Windows.Forms)并想要引用David(=> Button)只是说Button就足够了你可以使用System.Windows .Forms.Button。
希望你能有所了解。
由于
答案 2 :(得分:-2)
我认为主要区别在于处理表单所需的一个,另一个可以用作启动器/超链接掩码