繁体   English   中英

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

[英]c# - difference between Button and System.Windows.Forms.Button?

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

在我的控制器类中,我创建了一个按钮数组,例如:

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

然后去:

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

但这实际上并不会改变按钮在表单类上的可见性。 有人知道为什么吗?

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

假设您using System.Windows.Forms ,则ButtonSystem.Windows.Forms.Button之间没有区别,并且没有歧义。

不要用新按钮覆盖Btns[k, m] 也就是说,删除以下行:

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

如果未从设计器设置Btns且其元素为null ,则将它们设置为由设计器创建的按钮:

Btns[1, 1] = button1;

.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的学生想像您也位于同一教室。 因此,如果您想推荐他,您可以简单地称呼他为David,现在以为您属于另一个班级并且想要推荐他。 因此,在这种情况下,仅致电David不足以识别他。 您必须说这样的话。“ 11年级A级大卫”。 现在再想一想,如果你们俩都在同一个班级中,以及何时想推荐他,如果您称他为“ A级11年级的大卫”而不是仅仅使用David,那看起来有点愚蠢。

因此,如果您在同一类(=>中,则已经在使用System.Windows.Forms,并且已经定义了该对象),并且想引用David(=> Button)只是说Button就足够了,那么您可以使用System.Windows.Forms.Button。

希望你能有所想法。

谢谢

我相信主要区别是一个需要处理表单,另一个可以用作启动器/超链接掩码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM