如何更改 Winforms 按钮上第二行文本的字体大小和颜色?

2023-12-23

 this.Controls.Add(button);
 button.Font = new Font("Arial", 8);
 button.Name = "btn" + idDanych;
 button.Width = 100;
 button.Height = 100;
 button.Location = new Point(0, 0);
 button.Text = "…" + Environment.NewLine + Environment.NewLine + "…";
 button.ForeColor = Color.Black;

如何更改按钮第二行文本的字体大小和颜色?


这是不可能使用.Text财产...

...但是您可以创建一个动态位图来代替文本,从而允许您根据需要设置其格式:

        Button button = new Button();
        button.Name = "btn" + idDanych;
        button.Width = 100;
        button.Height = 100;
        button.Location = new Point(0, 0);

        button.Text = "";
        Bitmap bmp = new Bitmap(button.ClientRectangle.Width, button.ClientRectangle.Height);
        using (Graphics G = Graphics.FromImage(bmp))
        {
            G.Clear(button.BackColor);

            string line1 = "( " + Wieszak + " ) " + Haczyk;
            string line2 = KodEAN;

            StringFormat SF = new StringFormat();
            SF.Alignment = StringAlignment.Center;
            SF.LineAlignment = StringAlignment.Near;
            using (Font arial = new Font("Arial", 12))
            {
                Rectangle RC = button.ClientRectangle;
                RC.Inflate(-5, -5);
                G.DrawString(line1, arial, Brushes.Black, RC, SF);
            }

            using (Font courier = new Font("MS Courier", 24))
            {
                SF.LineAlignment = StringAlignment.Center;
                G.DrawString(line2, courier, Brushes.Red, button1.ClientRectangle, SF);
            }
        }
        button.Image = bmp;
        button.ImageAlign = ContentAlignment.MiddleCenter;

        this.Controls.Add(button);

您必须找出字体大小、StringFormat 布局和/或位置的最佳组合,以使其看起来符合预期。还有其他 DrawString() 重载可以以不同的方式呈现文本。

但请注意,控件突出显示的方式会有所不同。在我的系统上,当鼠标进入时,标准按钮的整个区域都会突出显示。通过这种方法,仅border将突出显示,因为按钮的整个中间是静态图像。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改 Winforms 按钮上第二行文本的字体大小和颜色? 的相关文章

随机推荐

  • Databricks (Spark):.egg 依赖项未自动安装?

    我有一个本地创建的 egg依赖的包boto 2 38 0 我使用 setuptools 来创建构建发行版 一切都在我自己的本地环境中运行 因为它获取boto正确地从PiP 然而在databricks当我将库附加到集群时 它不会自动获取依赖项
  • 如何快速创建一个可选的闭包?

    我试图在 Swift 中声明一个带有可选闭包的参数 我声明的函数如下所示 class Promise func then onFulfilled gt onReject gt if let callableRjector onReject
  • VSCode:防止分割编辑器在聚焦时调整大小?

    打开多个编辑器组 并且其中一个编辑器组足够小 聚焦较小的编辑器组会导致它变大 直到您切换回另一个编辑器 我希望将所有内容保留为我设置的大小 有没有设置可以防止这种情况发生 Note how it has to be made small f
  • 使用 Selenium WebDriver C# 从下拉列表中选择一个值 [重复]

    这个问题在这里已经有答案了 我在使用 WebDriver 的 C 绑定从下拉列表中选择值时遇到了困难 我过去既没有研究过 C 也没有研究过 WebDriver 我正在使用 WebDriver Selenium dotnet2 0b3 和 V
  • 在 MySql TIME 列中保存 LocalTime

    背景故事 我最近在保存时遇到了一个问题LocalTime to a TIMEMySQL 数据库中的列 节省价值9 00正在引起8 00保存在数据库中 这个问题没有出现在我的开发环境 Windows 上 但出现在我们尝试的两台 Linux 机
  • Scala 初始化行为

    请看下面的代码 trait MyTrait val myVal String class MyClass extends MyTrait val myVal Value class MyClass2 val myVal String ext
  • Cassandra 错误消息:由于本地暂停未将节点标记为关闭。为什么?

    我有 6 个节点 1 个 Solr 5 个 Spark 节点 使用 datastax 我的集群位于与 Amazon EC2 类似的服务器上 具有 EBS 卷 每个节点有3个EBS卷 使用LVM组成逻辑数据盘 在我的 OPS 中心 同一节点经
  • Python 文件吸食

    Python 中是否有一个单行代码可以读取文件的所有行 而不是标准的 f open x txt cts f read f close 看来这种事经常发生 所以必须有一句俏皮话 有任何想法吗 This will slurp the conte
  • 如何在 Windows 7 上查找 MAC 地址? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我可以使用命令找到我的机器的MAC地址ipconfig all在命令提示符下 网络上到处都说物理地址是MAC地址 这是命令的结果ipcon
  • CKEditor5 和 Angular2 - 在编辑器内单击以获取数据时获取插入符的准确位置

    在 Angular 2 中 当我单击某个对象内部时 我试图获取板条箱的确切位置CKEditor5 Balloon Editor实例 我将在页面上有几个实例 每个实例都通过 ViewChildren and a QueryList 每个实例都
  • Rust 中的不可变变量和 const 变量有什么区别?

    我了解到 如果变量没有使用显式声明为可变的mut 它变得不可变 声明后不能更改 那为什么我们有constRust 中的关键字 它们不是一样的吗 如果不是 它们有何不同 const 在 Rust 中是缩写constant并且与编译时评估 它显
  • 关闭 fancybox iframe 后 Chrome 中的后退按钮无法正常工作

    不久前我在 fancybox github 上发布了同样的问题 但当时问题无法解决 所以我想我可以在这里再试一次 在 Chrome 中 我打开 fancybox iframe 然后使用 iframe 页面上的链接进行导航 然后关闭 fanc
  • Scala REPL 中的嵌套环境

    是否有可能创建 enter Scala REPL 中的嵌套环境 这样之后exiting嵌套环境中 在退出环境中创建的所有变量绑定都会丢失 这就是我的wish会话可能如下所示 scala gt val x 1 x Int 1 scala gt
  • 自定义字体为 Android 中的某些字母组合提供了不正确的字形

    我在我的 Android 项目中使用自定义字体 由于某种原因 当文本包含字母时IJ一起 它给了我以下字形 这似乎是位于 uE2C5字体的 PUA 区域 个人I and J字形都存在于字体中 如果我将文本设置为 我可以让它们出现I J 它不是
  • 访问 Angular2 模板中的特定数组元素

    我有一个可以循环使用的数组ng for句法 然而 最终我只想访问该数组的一个元素 我不知道该怎么做 在我的组件脚本中我有 export class TableComponent elements IElement 在我的模板中 我可以通过循
  • 以编程方式原生 Android VPN

    这个问题存在变体 但我似乎无法理解某些东西 如果您阅读了功能末尾的内容工业控制系统 4 0 http developer android com about versions android 4 0 highlights html 其中提到
  • 如何跟踪迭代开始日期后已添加到冲刺中的 Azure 工作项?

    Folks 首先 这个问题基于这样的前提 我通过分析视图连接 Azure DevOps 数据 并且所有可用字段都已选择到视图中 我想跟踪开发团队是否坚持计划或处理已创建的积压项目或在冲刺开始后已添加到冲刺中的项目 但我不知道该怎么做 显然
  • 列出 Debian 中所有用户安装的软件包

    在我参加的一次网络安全竞赛中 我获得了一台安装了许多软件包的 Debian 虚拟机 并要求我清理无关或恶意的软件包 过去我用过dpkg l grep searchterm 以及执行此任务的常用包的列表 然而 这是极其低效且耗时的 为了加快我
  • Spring FactoryBean 和作用域一起工作

    我想一起使用 FactoryBeans 和作用域 具体来说 我希望将 FactoryBean 创建和返回的对象放置到指定的 可能是自定义的 范围中 问题在于执行以下操作
  • 如何更改 Winforms 按钮上第二行文本的字体大小和颜色?

    this Controls Add button button Font new Font Arial 8 button Name btn idDanych button Width 100 button Height 100 button