在按钮控件的文本上设置多色

Posted

技术标签:

【中文标题】在按钮控件的文本上设置多色【英文标题】:Set multi colour on text of button control 【发布时间】:2022-01-12 07:38:39 【问题描述】:

我正在从事 ac# 会计项目,我需要有一个多色按钮,其中字母的颜色与其余文本不同(这表示字母键已被指定为该按钮的快捷键)所以用户很容易识别为特定按钮分配了哪个键。我在互联网上到处搜索,但没有找到任何答案。我还要求不要介意我的英文写作不好,因为我不擅长。我附上一张 gif 供参考。

【问题讨论】:

标准的 Winforms 按钮无法做到这一点。而且我从未见过任何可以做到这一点的自定义控件。 你不能使用winforms中的内置控件来做到这一点,但你可以继承一个按钮并覆盖它的paint方法来做到这一点。不过,这不会很简单。 我知道这很难。你能分享一下如何覆盖paint方法来实现相同的链接吗? 有很多关于覆盖 Paint 和进行“下图”的示例,您会很容易找到一个。但是,如果文本是静态的,则图像会更容易,imo。 文本是静态的,但一旦获得焦点就会改变颜色 【参考方案1】:

你可以使用 WPF 项目来解决这个问题。

<Button >
  <StackPanel Orientation="Horizontal">
    <Label Margin="0" Padding="0" >Click </Label>
    <Label Foreground="DarkRed" Margin="0" Padding="0" > M</Label>
    <Label Margin="0" Padding="0" >e</Label>
  </StackPanel>
</Button>

【讨论】:

我不能使用 wpf,因为桌面 windows 项目是我目前唯一的选择。 然后你可以使用BackgroundImage属性。您必须创建与按钮大小相同的图像。 (可以使用PNG格式)。

以上是关于在按钮控件的文本上设置多色的主要内容,如果未能解决你的问题,请参考以下文章

根据文本控件值标记和启用/禁用连续表单上的按钮

delphi控件属性大全-详解-简介

使用 jquery ajax 将值设置为(文本框)服务器控件

C#怎么设置服务器控件button不刷新页面

在MFC 如何设置按钮的颜色

iOS基础控件之UILabelUITextFieldUIButton(文本输入框按钮)