LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

【C#】WinForm 教程 Label 控件:从基础操作到高级应用

admin
2025年5月13日 23:4 本文热度 33

前言

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

一、属性

1、Name 属性

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

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

2、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属性

该属性指示当窗体程序运行后,鼠标经过控件时,鼠标光标的形状,如下图:


阅读原文:原文链接


该文章在 2025/5/14 9:14:15 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved