c#中如何实现窗体名称的居中显示
1个回答
展开全部
窗体名称是个很纠结的事情,正常情况一般是不去更改它的。这都怪微软。。。在win8.1的系统里,winform程序的title是自动居中。。
所以在win8.1之下 就没那么幸运了!~~所以,只能用一中比较极端的办法去实现:
private void ChangeTitlePosition()
{
Graphics g = this.CreateGraphics();
Double startingPoint = (this.Width / 2) - (g.MeasureString(this.Text.Trim(), this.Font).Width / 2);
Double ws = g.MeasureString("*", this.Font).Width;
String tmp = " ";
Double tw = 0;
while ((tw + ws) < startingPoint)
{
tmp += "*";
tw += ws;
}
this.Text = tmp.Replace('*', ' ') + this.Text.Trim();
}注意这段代码,要放到Form和Resize事件中。。因为Form是在窗体启动的时候,而Resize是在更改窗体大小的时候去弄!
结果截图
祝你好运。加油。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询