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

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

【问题讨论】:

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

标签: c# winforms button


【解决方案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格式)。
猜你喜欢
  • 2011-04-20
  • 2015-12-07
  • 1970-01-01
  • 2020-06-21
  • 1970-01-01
  • 2023-03-21
  • 2015-05-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多