Winform从入门到精通(1)——Label(史上最全)

本文是《Winform控件从入门到精通》系列的第1篇,详细介绍了Label控件的10个核心属性,如Name、AllowDrop、Anchor等。通过实例展示了每个属性的作用,帮助读者理解并掌握Label控件的使用。同时,提供了完整系列的其他控件链接,是学习Winform开发的宝贵资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

前言

博主履历介绍:
本人2017年硕士毕业,行业经验六年+,一直在自动化行业从事上位机软件开发的工作,当然运动控制和机器视觉也广泛涉及,目前也是以高级软件工程师的职位任职,薪资我就不方便透露了,你可以去招聘网站去查上位机高级软件工程师的薪资范围(只能说至少两万月薪Base),可以说理论和实战经验都比较丰富,所以我的经验对学习c#的尤其自动化行业的人极具参考价值,可以说如果掌握了我的博客所有文章,你也可以达到甚至超越我的水平,也祝愿大家都能通过自己的努力找到理想的工作!
本篇文章是我开设的博客专栏《winform控件从入门到精通》系列文章中的一篇介绍Lable控件如何使用的文章,本篇文章只选择了10个属性进行免费展示,如果需要查看更加详细的内容请订阅专栏查看,目前已有超过100人订阅,前200位订阅者限时29.9元(一顿好点的外卖),200位以后价格调整到99.9元,目前专栏开通一个月就上了CSDN专栏热销榜,关于Label控件的详细介绍点击这里:Winform从入门到精通(27)——Label(详细版本)原创不易,敬请谅解!本专栏会对winform中所有控件进行介绍,包括控件的属性、事件、方法,重点是我会将控件所有属性、事件、方法进行介绍,并且也会在专栏中增加一些案例来帮助想学习winform控件的程序员来巩固以及练习如何灵活的运用控件的各种特性来实现不同的功能,所以该专栏文章既包含了入门内容,也包含了进阶内容,对于想学习winform控件开发的程序员来说这绝对是一份非常详细的资料,您也可以将其作为自己的字典,需要使用某个功能的时候来查阅即可,当然如果您发现我的文章中有您需要的功能,但是我没有进行介绍,您可以在我的博客中留言,我会及时更新该功能,感谢大家一直以来的支持!

订阅《winform控件从入门到精通》专栏的vip成员还可享受以下增值服务:
1)进入VIP群和众多学员一起交流学习winform,c#,找工作等
2)博主会上传一些免费的学习资料帮助大家学习,比如本篇博文说的上位机源码、《c#图解教程》、《c#本质论》的电子书籍、串口助手的源码等
3)如果遇到学习困难还可在群里@博主来帮助你。
注意:只有订阅了博客专栏的学员才能进入群,加群时留下自己的博客名称即可。

在这里插入图片描述

关于所有控件的访问链接如下:

1、Winform从入门到精通(27)——Label(详细版本)
2、Winform从入门到精通(2)——Button(史上最全)
3、Winform从入门到精通(3)——Form(史上最全)
4、Winform从入门到精通(4)——Textbox(史上最全)
#5、Winform从入门到精通(5)——checkBox(史上最全)
6、Winform从入门到精通(6)——radioButton(史上最全)
7、Winform从入门到精通(7)——ComboBox(史上最全)
8、Winform从入门到精通(8)——richTextBox(史上最全)
9、Winform从入门到精通(9)——ListBox(史上最全)
10、Winform从入门到精通(10)——CheckedListBox(史上最全)
11、Winform从入门到精通(11)——numericUpDown(史上最全)
12、Winform从入门到精通(12)——LinkLabel(史上最全)
13、Winform从入门到精通(13)——DateTimePicker(史上最全)
14、Winform从入门到精通(14)——NotifyIcon(史上最全)
15、Winform从入门到精通(15)——contextMenuStrip(史上最全)
16、Winform从入门到精通(16)——Timer(史上最全)
17、Winform从入门到精通(17)——PictureBox(史上最全)
18、Winform从入门到精通(18)——Chart(史上最全)
19、Winform从入门到精通(19)——DataGridView(史上最全)
20、Winform从入门到精通(20)——TableLayoutPanel(史上最全
21、Winform从入门到精通(21)——ProgressBar(史上最全)
22、Winform从入门到精通(22)——Panel(史上最全)
23、Winform从入门到精通(23)——FlowLayoutPanel(史上最全)
24、 Winform从入门到精通(24)——GroupBox(史上最全)
25、Winform从入门到精通(25)——SplitContainer(史上最全)
26、Winform从入门到精通(26)——TabControl(史上最全)
27、Winform从入门到精通(28)——ToolTip(史上最全)
28、Winform从入门到精通(29)——MaskedTextBox(史上最全)
29、Winform从入门到精通(30)——MonthCalendar(史上最全)
30、Winform从入门到精通(31)——TreeView(史上最全)
31、Winform从入门到精通(32)——MenuStrip(史上最全)
32、Winform从入门到精通(33)——OpenFileDialog(史上最全)
33、Winform从入门到精通(34)——SaveFileDialog(史上最全)
34、Winform从入门到精通(35)——FontDialog(史上最全)
35、Winform从入门到精通(36)——ColorDialog(史上最全)
36、Winform从入门到精通(37)——FolderBrowserDialog(史上最全)
37、Winform从入门到精通(38)——StatusStrip(史上最全)
38、Winform从入门到精通(39)——ToolStrip(史上最全)
39、Winform从入门到精通(40)——HelpProvider(史上最全)
41、Winform从入门到精通(42)——ToolStripContainer(史上最全)
42、Winform从入门到精通(43)——BackgroundWorker(史上最全)

Label一般用于显示文本或者作为"按钮使用",当作为显示文本使用时,通过设置label的Text属性实现,当作为“按钮使用时”,在label的单击事件下注册事件即可,下面详细介绍label的属性以及事件:

一、属性

1、Name 属性

该属性代表label类对象的名称,通过该属性可以获取到该label对象,如下图:

该label对象名称为label1,当然也可以更改为其他名称

2、AllowDrop 属性

该属性的值是指示控件是否接受用户拖放文件的数据,具体指某个文件的全路径,具体操作过程以及代码如下:
AllowDrop属性功能的应用

  private void label1_DragOver(object sender, DragEventArgs e)
        {
            e.Effect = DragDropEffects.Copy;
            Console.WriteLine(1);
        }
        private void label1_DragDrop(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                label1.Text = ((string[])e.Data.GetData(DataFormats.FileDrop))[0];
            }

3、Anchor 属性

当窗体的大小发生改变时,label是否绑定父容器的边缘(当都不绑定时,label随着窗体大小变化发生无规则的变化),以及具体与父容器哪条边的距离保持不变,下图为topright时的程序运行结果。
在这里插入图片描述

4、AutoEllipsis 属性

指示当label中的文字超出label大小时,是否在label的末尾显示省略号…,如下图:
在这里插入图片描述
以上设置autoEllipsis为true时,autosize属性一定要设置为false,否则由于label的大小随着文本的增多自动改变大小,autoellipsis属性将会失效。

5、autosize 属性

当改变label的文本内容或者改变字体大小,字体样式时,label本省也跟着改变大小,如下图:
在这里插入图片描述

6、backcolor 属性

改变背景颜色,如下图:
在这里插入图片描述

7、borderstyle 属性

设置控件边框的样式,由于label的borderstyle的样式不明显,故这里用textbox举例,可以看出borderstyle为none时没有边框,且无立体感,为fixedsingle时有黑色的边框,为fixed3d时,立体感非常强,如下图
在这里插入图片描述

8、CausesValidation 属性

该值设置为true时,当控件失去焦点时(控件焦点的执行顺序是Enter、GotFocus、Leave、Validating、Validated、LoseFocus),需要对控件进行验证(这里要注意不能在主窗体构造函数以及在Load事件中使控件获取焦点focus方法或者判断控件是否可以获取焦点CanFocus属性,这样的操作是无效的,关于何时可以对控件的焦点进行操作,请看这篇文章窗体加载时构造函数、load事件等执行顺序),经过测试原文中OnGotFocus无法执行,焦点操作在OnActivated方法开始以及之后都可以,如果不想重写这些方法并且要实现在初始化时对控件焦点进行控制,有两种方法参考,第一种是在form的Activated事件中控制控件的焦点,也可以另外开线程对控件焦点进行操作,线程控件验证代码和操作过程如下图):

  private void label1_Validating(object sender, CancelEventArgs e)
        {
            if (((Label)sender).Text == string.Empty)
            {
                Console.WriteLine("不能为空");
                e.Cancel = true;
            }
        }
         private void Form1_Load(object sender, EventArgs e)
        {
            Thread thread1 = new Thread(UpdateUi);
            thread1.IsBackground = true;
            thread1.Start();

        }
   private void UpdateUi()
    {
        this.Invoke(new Action (()=>label1 .Focus ())); 
    }

以上代码在CausesValidation的值为true时,控件焦点离开时执行,初始化程序时,让label1获取焦点;
在这里插入图片描述
gif图片可以看出,如果在validating事件中,e.cancel=true时,焦点的位置会保持不动,除非e.cancel=false,焦点才能顺利的发生变化。

9、contextMenuStrip 属性

右键菜单,用于将菜单和某个控件绑定,当右键单击控件时,弹出菜单,我们可以在菜单中编辑业务代码,如下:在这里插入图片描述
如果需要改变菜单弹出的位置,则可以在控件的MouseUp事件中show出菜单,代码如下:

 private void label1_MouseUp(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                //this.label1.ContextMenuStrip.Show(this, new Point(label1.Location.X, label1.Location.Y));
                this.label1.ContextMenuStrip.Show(this.label1, new Point(label1.Location.X, label1.Location.Y));
            }
        }

show方法中的第一个参数是菜单距离指定控件一定位置时显示,第二个参数是菜单显示时和指定控件相距的X,Y位置。

10、Cursor属性

该属性指示当窗体程序运行后,鼠标经过控件时,鼠标光标的形状,如下图:
在这里插入图片描述

三、 其他控件介绍访问链接:

如果您想学习更多的winform控件的话,请关注我的博客专栏《winform控件从入门到精通》,更多控件的访问链接如下:
点击链接即可转到该控件的详细介绍

1、Winform从入门到精通(27)——Label(详细版本)

2、Winform从入门到精通(2)——Button(史上最全)

3、Winform从入门到精通(3)——Form(史上最全)

4、Winform从入门到精通(4)——Textbox(史上最全)

5、Winform从入门到精通(5)——checkBox(史上最全)

6、Winform从入门到精通(6)——radioButton(史上最全)

7、Winform从入门到精通(7)——ComboBox(史上最全)

8、Winform从入门到精通(8)——richTextBox(史上最全)

9、Winform从入门到精通(9)——ListBox(史上最全)

10、Winform从入门到精通(10)——CheckedListBox(史上最全)

11、Winform从入门到精通(11)——numericUpDown(史上最全)

12、Winform从入门到精通(12)——LinkLabel(史上最全)

13、Winform从入门到精通(13)——DateTimePicker(史上最全)

14、Winform从入门到精通(14)——NotifyIcon(史上最全)

15、Winform从入门到精通(15)——contextMenuStrip(史上最全)

16、Winform从入门到精通(16)——Timer(史上最全)

17、Winform从入门到精通(17)——PictureBox(史上最全)

18、Winform从入门到精通(18)——Chart(史上最全)

19、Winform从入门到精通(19)——DataGridView(史上最全)

20、Winform从入门到精通(20)——TableLayoutPanel(史上最全

21、Winform从入门到精通(21)——ProgressBar(史上最全)

22、Winform从入门到精通(22)——Panel(史上最全)

23、Winform从入门到精通(23)——FlowLayoutPanel(史上最全)

24、 Winform从入门到精通(24)——GroupBox(史上最全)

25、Winform从入门到精通(25)——SplitContainer(史上最全)

26、Winform从入门到精通(26)——TabControl(史上最全)

27、Winform从入门到精通(28)——ToolTip(史上最全)

28、Winform从入门到精通(29)——MaskedTextBox(史上最全)

29、Winform从入门到精通(30)——MonthCalendar(史上最全)

30、Winform从入门到精通(31)——TreeView(史上最全)

31、Winform从入门到精通(32)——MenuStrip(史上最全)

32、Winform从入门到精通(33)——OpenFileDialog(史上最全)

33、Winform从入门到精通(34)——SaveFileDialog(史上最全)

34、Winform从入门到精通(35)——FontDialog(史上最全)

35、Winform从入门到精通(36)——ColorDialog(史上最全)

36、Winform从入门到精通(37)——FolderBrowserDialog(史上最全)

37、Winform从入门到精通(38)——StatusStrip(史上最全)

38、Winform从入门到精通(39)——ToolStrip(史上最全)

39、Winform从入门到精通(40)——HelpProvider(史上最全)

41、Winform从入门到精通(42)——ToolStripContainer(史上最全)

42、Winform从入门到精通(43)——BackgroundWorker(史上最全)

四、 winform开发相关的特别适合初学者入门的文章链接

1、手把手教你安装Visual Studio 2019(史上最全)
2、手把手教你新建一个winform项目(史上最全)
3、如何为winform控件注册事件
4、手把手教你做学生信息管理系统——数据库设计(MySql)
5、winform怎么在设计界面找到代码里的控件
6、手把手教你写上位机软件(c#、winform)

### 回答1: 千兆网口和2.5g网口都是用于局域网或者家庭网络中的数据传输接口。它们使用了相同的RJ45接口,也就是常见的网线接口。 千兆网口可以传输速率高达1千兆比特每秒(1Gbps),也就是1000兆比特每秒。它是目前大部分家庭和办公场所常见的网络口,能够满足日常的网络需求,如上网、下载、视频观看等。千兆网口的传输速率快,能够更快地传输大量数据,提供更稳定的网络连接。 而2.5g网口是一种新兴的网络接口,传输速率为2.5千兆比特每秒(2.5Gbps)。它可以提供更高的网络速度,比千兆网口更快,适用于高带宽的应用场景,比如高清视频播放、在线游戏和大规模数据传输等。2.5g网口是介于千兆网口(1Gbps)和万兆网口(10Gbps)之间的一种选择,提供了更好的网络性能和速度,但相对来说价格更为适中。 无论是千兆网口还是2.5g网口,它们都使用相同的RJ45接口,因此可以通过相同的网线进行连接。此外,这两种网口都属于有线网口,与无线网络不同,需要通过网线连接到网络设备,提供更稳定和可靠的网络连接。 ### 回答2: 千兆网口和2.5G网口指的是以太网接口的两种类型,它们都采用了RJ45接口定义。RJ45接口是一种常用的网络连接接口,通常用于连接计算机、路由器、交换机等网络设备。 千兆网口指的是支持千兆以太网(也称为Gigabit Ethernet)的网口。它能够提供1000Mbps的传输速度,是目前常见的家庭和办公网络中常用的网口类型之一。千兆网口的RJ45接口定义符合英特尔的TIA/EIA-568-B标准,采用8P8C(8位置8合一)的物理接口。 而2.5G网口指的是支持2.5G以太网的网口类型。它提供了更高的传输速度,达到了2500Mbps(也即2.5Gbps),比千兆网口更快。2.5G网口的RJ45接口定义也符合TIA/EIA-568-B标准,采用8P8C的物理接口。 总的来说,千兆网口和2.5G网口都是通过RJ45接口实现的一种以太网连接方式。它们的不同之处在于传输速度的差异,千兆网口提供的是1000Mbps的速度,而2.5G网口则提供了更快的传输速度,达到了2500Mbps。这两种类型的网口在不同的网络环境中有着不同的适用场景,用户可以根据自己的需要选择合适的网络接口。 ### 回答3: 千兆网口和2.5G网口都是常见的以太网连接接口,通常使用RJ-45连接器。它们是用于将设备(如计算机、路由器、交换机等)连接到局域网或广域网上的主要物理接口。 千兆网口,也称为1G网口,提供了1千兆比特每秒的最大传输速率。它以太网的标准连接速度之一,支持千兆以太网(Gigabit Ethernet)技术。千兆网口使用了四对双绞线(通常是Cat5e或Cat6),可同时进行全双工通信,即同时实现发送和接收数据。它广泛应用于现代网络中,可以满足大多数家庭和办公场所的网络需求。 而2.5G网口是一种新兴的以太网连接接口,提供了2.5千兆比特每秒的最大传输速率。它是千兆网口的升级版本,也属于Gigabit Ethernet技术。2.5G网口同样使用RJ-45连接器,但它需要更高质量的双绞线(通常是Cat5e或Cat6a)来支持更高的传输速率。2.5G网口对于需要高带宽的应用非常有用,如视频流媒体、在线游戏等,在现代网络中越来越受欢迎。 总结来说,千兆网口和2.5G网口都是通过RJ-45接口定义的以太网连接接口。千兆网口提供1千兆比特每秒的传输速率,而2.5G网口提供2.5千兆比特每秒的传输速率。它们的选择取决于具体的网络需求和设备兼容性。
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上位机马工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值