如何以编程方式为表单文本提供不同的颜色

时间:2014-12-24 00:59:27

标签: c# forms visual-studio-2010 visual-studio windows-applications

我想将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

1 个答案:

答案 0 :(得分:3)

这是一个非常繁琐的问题,不能用于开箱即用

您必须尝试在表单的非客户区域上绘制并捕获所有重绘消息,我甚至不确定它们是否会100%工作(但它可能会)

采用更极端的策略并使用无边框形式并从头开始重绘标题栏

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

此时你真的需要问问自己,你的编码时间是否会更好地用于其他领域,或者解决方案略有不同

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

然而,仅仅出于学术目的,有一篇codeplex文章确实向您展示了实现您所需要的所有黑客攻击(为此答案的目的有太多和太多的代码)

请注意:虽然以下链接稍微偏离主题,但它确实触及了两种情况所需的区域

Extending Form with Non-Client Area Painting

我希望这有助于或至少说服你,它可能不值得你这么做