自绘Lable的Text

2024-03-19 03:38
文章标签 text 自绘 lable

本文主要是介绍自绘Lable的Text,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


        private void Form1_Load(object sender, EventArgs e)
        {
            label1.Paint += new System.Windows.Forms.PaintEventHandler(PaintEvent);
        }


        //自绘 显示提示信息
        private void PaintEvent(object sender, PaintEventArgs e)
        {
            Label label = ((Label)sender);

            Graphics g = e.Graphics;

            SolidBrush blueBrush = new SolidBrush(label.BackColor);
            Font fnt = new Font("SimSun", 10, FontStyle.Bold);

            Rectangle rc = new Rectangle(0, 0, ((Label)sender).Width, ((Label)sender).Height);

            g.FillRectangle(blueBrush, rc);

            System.Windows.Forms.TextRenderer.DrawText(
                g, label.Text, label.Font, rc, label.ForeColor,
                TextFormatFlags.WordEllipsis | ContentAlignmentToTextFormatFlags(label.TextAlign));
        }

        TextFormatFlags ContentAlignmentToTextFormatFlags(ContentAlignment contentAlignment)
        {
            TextFormatFlags textFormatFlags = new TextFormatFlags();

            switch (contentAlignment)
            {
                case ContentAlignment.BottomCenter:
                    //上,左右居中
                    textFormatFlags = TextFormatFlags.Bottom | TextFormatFlags.HorizontalCenter;
                    break;
                case ContentAlignment.BottomLeft:
                    textFormatFlags = TextFormatFlags.Bottom | TextFormatFlags.Left;
                    break;
                case ContentAlignment.BottomRight:
                    textFormatFlags = TextFormatFlags.Bottom | TextFormatFlags.Right;
                    break;
                case ContentAlignment.MiddleCenter:
                    textFormatFlags = TextFormatFlags.VerticalCenter | TextFormatFlags.HorizontalCenter;
                    break;
                case ContentAlignment.MiddleLeft:
                    textFormatFlags = TextFormatFlags.VerticalCenter | TextFormatFlags.Left;
                    break;
                case ContentAlignment.MiddleRight:
                    textFormatFlags = TextFormatFlags.VerticalCenter | TextFormatFlags.Right;
                    break;
                case ContentAlignment.TopCenter:
                    textFormatFlags = TextFormatFlags.Top | TextFormatFlags.HorizontalCenter;
                    break;
                case ContentAlignment.TopLeft:
                    textFormatFlags = TextFormatFlags.Top | TextFormatFlags.Left;
                    break;
                case ContentAlignment.TopRight:
                    textFormatFlags = TextFormatFlags.Top | TextFormatFlags.Right;
                    break;
                default:
                    break;
            }
           
            return textFormatFlags;
        }

这篇关于自绘Lable的Text的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/824668

相关文章

使用Sublime Text 2编辑CoffeeScript

Sublime Text 2很好很强大,咱就用它来编辑Coffee代码吧。 安装Sublime Text 2过程就略过了。   CoffeeScript作者是推荐使用TextMate编辑CoffeeScript的。但是TextMate收费,并且对中文支持不好。如果你不在意这两个问题,那么强烈推荐你使用TextMate,并关注CoffeeScript作者的TextMate

Sublime Text相关资料收集

前端开发工具技巧介绍——Sublime篇:http://www.imooc.com/learn/40 Package Control:https://sublime.wbond.net/ Sublime Text全程指南:http://zh.lucida.me/blog/sublime-text-complete-guide/ Emmet Documentation:http://d

把Sublime Text 2 加入右键菜单(带图标), Edit with Sublime Text

Sublime Text 2 是现在很受大家欢迎的编辑器了,不仅是在web前端,在书定简单的php、Js等代码时,也是相当的好用,再配合多种的插件和新颖的界面,更是让人欲罢不能。 在使用时,我们通过喜欢打开一个文件的时候,右击再选择打开程序,比如会用记事本、Notedpad++之类的,这时如果把Sublime Text也加入到其中毕竟会方便不少,在找了一番后,实验成功,效果如下: 实现

Sublime Text 快速折叠CSS代码到一行

快速折叠CSS代码到一行 1.使用HTML/CSS/JS Prettify或者CSScomb美化代码 2.使用Alt+F3特征选取,删除下图中所有的特征空格 3.使用Ctrl+Shift+M选取括号里的内容,再使用一次Ctrl+Shift+M将大括号也一起选中。 4.使用Ctr+J折叠代码 5.Home键 6.Backspace键

在浏览器中打开预览sublime text当前所编辑文件的方法和快捷键设置

配置在Chrome,Firefox中打开 安装 SideBarEnhancements 然后通过ctrl + k, ctrl + b打开侧边栏,在侧边栏的文件中右击,找到 open width -> edit applications 然后在这里边设置firefox打开的方式。 application : 路径要修改为自己默认安装的路径。 [     {

(转)Sublime Text 2 (Emmet):HTML/CSS代码快速编写神器

Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生。它使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度,比如下面的演示:   Zen coding下的编码演示   去年年底,该插件已经改名为Emmet。但Emmet不只改名,还带来了一些新特性。本文就来直观地演示给你。 一、快速编写HTML代码 1.

关于VC6 MFC使用Gdiplus实现自绘按钮的总结

步骤1:简易教程(更换对话框的背景)及Gdiplus下载地址可查看这个博客https://blog.csdn.net/misads/article/details/78619735。 步骤2:使用Gdiplus实现自绘按钮可参考这个博客https://blog.csdn.net/wyansai/article/details/50971959。 首先感谢上面两位博主的分享,那么我写这个博客是干

Apple - Text Attribute Programming Topics

本文翻译整理自:Text Attribute Programming Topics(更新日期:2004-02-16 https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/TextAttributes/TextAttributes.html#//apple_ref/doc/uid/10000088i

68. Text Justification

https://leetcode.com/problems/text-justification/description/ 给定一个单词数组和一个长度 maxWidth,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用“贪心算法”来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格 ’ ’ 填充,使得每行恰好有 maxWidth

style.cssText

很多人用过 style.color、style.display 等直接设置元素的样式属性,但是 style.cssText 用过的人就不多了。 cssText 本质是什么? cssText 的本质就是设置 HTML 元素的 style 属性值。 cssText 怎么用? 复制代码代码如下: document.getElementById("d1").style.c