我如何改变形式的ForColor,已经设置了ForeColor为红色,但形式仍然显示在白色文本。我如何改变这一点。我指的是标题栏文本颜色
yvgpqqbh1#
标题栏是表单的“非客户端”区域。表单的非客户端区域由windows API而不是. NET管理。它不能通过设置表单上的任何属性来更改。要更改标题栏文本的颜色,您需要进行自定义绘制。请在Google中搜索以下术语:非客户端区域绘制winform。您需要直接调用Win32 API才能使其工作。您可以从这里获得一些想法:Link和http://customerborderform.codeplex.com/wikipage?title=Painting%20NonClient%20Area&referringTitle=Home以前(也就是没有.NET的时候)做起来比较容易,因为我们直接用Win32 API,我做的时候是为了好玩,后来我才知道,这样的事情是可以 * 学习 * 的;我强烈建议你不要把它放在一个“真实的的”应用程序中,Windows有一个特定的外观和感觉,这个外观和感觉应该在用户的控制之下,而不是开发人员的。
cs7cruho2#
我不确定您要做什么。ForeColor更改窗体上子控件的颜色。下面是使用ForeColor和在windows窗体上写入的示例。请注意,通过Graphics对象直接在窗体上写入时,不使用窗体ForeColor属性...在窗体上放置一个按钮,并将代码放入其事件处理程序中...
private void button1_Click(object sender, EventArgs e) { this.ForeColor = System.Drawing.Color.Red; using (Graphics g = this.CreateGraphics()) { Brush b = new SolidBrush(System.Drawing.Color.Blue); g.DrawString("SAMPLE TEXT", SystemFonts.CaptionFont, b, new PointF(50, 50)); b.Dispose(); } }
omjgkv6w3#
嗨,如果您想更改窗体控件的文本,您必须单独设置所有子控件、标签、复选框、文本框等的ForeColor属性。窗体ForeColor将只影响在窗体ForeColor更改后创建的控件。
3条答案
按热度按时间yvgpqqbh1#
标题栏是表单的“非客户端”区域。表单的非客户端区域由windows API而不是. NET管理。它不能通过设置表单上的任何属性来更改。要更改标题栏文本的颜色,您需要进行自定义绘制。请在Google中搜索以下术语:非客户端区域绘制winform。您需要直接调用Win32 API才能使其工作。您可以从这里获得一些想法:Link和http://customerborderform.codeplex.com/wikipage?title=Painting%20NonClient%20Area&referringTitle=Home
以前(也就是没有.NET的时候)做起来比较容易,因为我们直接用Win32 API,我做的时候是为了好玩,后来我才知道,这样的事情是可以 * 学习 * 的;我强烈建议你不要把它放在一个“真实的的”应用程序中,Windows有一个特定的外观和感觉,这个外观和感觉应该在用户的控制之下,而不是开发人员的。
cs7cruho2#
我不确定您要做什么。ForeColor更改窗体上子控件的颜色。下面是使用ForeColor和在windows窗体上写入的示例。请注意,通过Graphics对象直接在窗体上写入时,不使用窗体ForeColor属性...在窗体上放置一个按钮,并将代码放入其事件处理程序中...
omjgkv6w3#
嗨,如果您想更改窗体控件的文本,您必须单独设置所有子控件、标签、复选框、文本框等的ForeColor属性。窗体ForeColor将只影响在窗体ForeColor更改后创建的控件。