c# - Button和System.Windows.Forms.Button之间的区别?

时间:2011-10-09 04:28:52

标签: c# .net winforms button

在我的form1类中,我使用设计器添加了许多按钮。即button1,button2.etc

在我的控制器类中,我创建了一系列按钮,如:

Btns[k,m] = new Button();

然后去:

Btns[1,1].Name = "button1";
Btns[1,1].Visible = False;

但这实际上并没有改变我的表单类上按钮的可见性。有谁知道为什么?

基本上在控制器中创建一个按钮名称数组,实际链接到form1类中的表单按钮。

3 个答案:

答案 0 :(得分:3)

ButtonSystem.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)

我认为主要区别在于处理表单所需的一个,另一个可以用作启动器/超链接掩码