如何以编程方式为我的表单文本赋予不同的颜色

问题描述 投票:0回答:1

我想在我的表格中心给出

my username in red color
。请看我的图片。我已经在左侧有我的应用程序名称,在中心有我的用户名。我只需要将我的用户名设为红色

enter image description here

我怎么给这个??

代码:-

    var someNewStr1 = new string(' ', 100);
    this.Text = "Publisher 1.0.0.0" + someNewStr1 + "USERNAME1";
    //i need the user name to be shown in red colour how can i do this
c# forms visual-studio-2010 visual-studio windows
1个回答
3
投票

这是一个非常棘手的问题,不能开箱即用。

您要么必须尝试在表单的非客户区上绘制并捕获所有重绘消息,我不确定它是否会 100% 起作用(无论如何它可能)。

或者采取更极端的策略,使用无边框形式,从头开始重新绘制标题栏和边框。

此外,第二种方法容易出现系统设置和实现标准标题栏功能的各种问题,即您必须实现所有默认窗口样式和默认行为。

在这一点上,你真的必须问问自己,你的编码时间是否会更好地花在其他领域,或者稍微不同的解决方案。

即为什么不将客户端名称放在状态栏中,或者在工具栏中右对齐。

然而,仅出于学术目的,有一篇 Codeplex 文章确实向您展示了实现您想要的目标所需的所有技巧(出于此答案的目的,代码太多太多)。

请注意:虽然下面的链接略微偏离主题,但它确实触及了您需要执行这两个场景的区域。

非客户区绘画的扩展形式

我希望这能让你信服,这可能不值得你花时间。

© www.soinside.com 2019 - 2024. All rights reserved.