C#在WinForm开发中Label换行方法

摘要:
在WinForm的开发过程中,您可能经常遇到这样的问题:Label要显示的内容太长,但无法换行。第一种方法是将“标签”的“自动大小”属性设置为False,并手动修改“标签”大小。这具有由于内容长度而自动换行的优点。但是,当内容的长度超过设置的大小时,将不会显示额外的内容。因此,该方法适用于基本确定内容的长度。

    在开发WinForm中可能经常遇到Label要显示的内容太长,但却不能换行的问题。本文将为大家提供三个解决方法,供大家选择

    很多朋友都会在开发WinForm中遇到Label要显示的内容太长,但却不能换行的问题.这里我总结了几种方法,供大家参考。

    第一种是把Label的AutoSize属性设为False,手动修改Label的大小.这样的好处是会因内容的长度而自动换行,但是当内容的长度超过所设定的大小时,多出的内容就会无法显示.因此,这种方法适合于基本确定内容长度的时候使用。

    第二种是把Label的Dock设为FILL,同时将AutoSize属性设为False,这种方法可将上面所说的缺点修正,但是同时Label会将其它控件的位置霸占,影响布局.因此,在使用该方法时,最好给Label加上个Panel或GroupBox控件。

    第三种是通过判断内容的长度,动态设置Label的大小.具体程序如下(Label控件取名为Label1,显示内容的字符串为str):

    int LblNum = str.Length;   //Label内容长度
    int RowNum = 10;   //每行显示的字数float FontWidth = label1.Width / label1.Text.Length;    //每个字符的宽度
    int RowHeight=15;   //每行的高度int ColNum=(LblNum-(LblNum/RowNum)*RowNum)==0?(LblNum/RowNum):(LblNum / RowNum)+1;   //列数
    label1.AutoSize = false;    //设置AutoSize
    label1.Width = (int)(FontWidth * 10.0);   //设置显示宽度
    label1.Height = RowHeight * ColNum;   //设置显示高度

    通过这种方法可以令Label每行所显示的字数得到控制,同时也动态的生成的所对应的行数,这对于排版有很大的好处,但是如果显示内容过多,该方法也会令多出来的内容无法显示.因此,对于显示内容过长的时候,可以在外层加上Panel或GroupBox,设置AutoScroll为true,这样就不会因为太长而导致Label高度扩大而影响其它控件的布局,同时也可以更好地显示完整的内容。

    三种方法都有它的优缺点,没有说谁优谁劣,只有最适合的,朋友们不妨试试


    原文链接:http://developer.51cto.com/art/200904/117857.htm

免责声明:文章转载自《C#在WinForm开发中Label换行方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Eclipse使用过程中的经验总结CentOS搭建python开发环境下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

如何利用添加伪元素的办法自定义checkbox以及radio选框的样式

这里我以checkbox举例(radio同理),上图为默认样式 这是我修改之后的样式 直接进入主题吧 首先在我们的vs里面输入如上代码 键入一个input框,类型为checkbox 再写一个label,给for属性赋予checkbox的ID值,让两个产生联动 这样,我们点击label里面的内容的时候,可以让checkbox选中 然后我们给label新...

从U盘安装centos7.6(史上最简单的终极解决方案)

从U盘安装centos7.6(史上最简单的终极解决方案)   1、下载最新版本的centos(目前是centos 7.6)        https://www.centos.org/download/               由于我是安装服务器,所以选择了Minimal ISO(只有900多MB) 2、制作Centos安装盘(准备一个空白的...

pyqt 窗口的调用

关于Pyqt窗口调用的格式 正常设计两个ui文件 正常Pyuic转成.py 在唯一的 run.py 函数里这样写即可实现窗口调用 import ... from Timer2 import Ui_Form # Timer2为主ui对于py文件的名字 from TimerSetup import Ui_Form as UISetup # Timer...

C#--Winform--图标控件Chart详解

以下是学习笔记: 学习内容:https://www.bilibili.com/video/BV1rp4y1s76g?p=2   一,图表的基本介绍: 1,下图说明了构成图表的关键要素  2,图表元素描述: 3,图标的坐标系 【1】计算机屏幕坐标系  【2】Chart控件的坐标系  【3】图标图片和图表区域  4,图表的文本元素   二,图表的应...

【学习笔记】tensorflow图片读取

目录 图像基本概念 图像基本操作图像基本操作API 图像读取API 狗图片读取 CIFAR-10二进制数据读取 TFRecords TFRecords存储 TFRecords读取方法 图像基本概念 在图像数字化表示当中,分为黑白和彩色两种。在数字化表示图片的时候,有三个因素。分别是图片的长、图片的宽、图片的颜色通道数。那么黑白图片的颜色...

winform 导出datagridview 到excel

数据不多可以用下面的方式方法,如果数据较大,不建议这样使用,可能会比较卡如果电脑上没有Microsoft.Office.Interop.Excel.dll去找DLL下载站下载即可 需要先导入这个dll的引用  呈上代码:using System; using System.Collections.Generic; using System.Compo...