我目前正在尝试在运行时生成标签,并在运行时添加各自的字体。
到目前为止,我设法用这一行标注下划线和粗体:
championName.Font = new Font(championName.Font, FontStyle.Bold | FontStyle.Underline);
即使用|添加属性它似乎也很奇怪,它的确有效。
但是,如果我现在想要更改我的标签文字大小,我该怎么做?我无法弄明白我在哪里挤压它。
我尝试通过创建这样的字体对象来实现:
Font fnt = new Font();
然后编辑它的属性,但考虑到我不能像这样创建一个对象,那很快就失败了。
那么,我如何一次更改此标签上的多个内容?我的意思是很明显我不能只分配另一个new Font();
而不会丢失旧的{{1}},所以必须有办法实现它。
答案 0 :(得分:7)
System.Drawing.Font class有几个结构。一种可能性是使用带有size
parameter的构造函数之一:
championName.Font = new Font(SystemFonts.DefaultFont, 16.0, FontStyle.Bold | FontStyle.Underline);
// championName.Font = new Font(championName.Font.FontFamily, 16.0, FontStyle.Bold | FontStyle.Underline);
答案 1 :(得分:2)
尝试以下几种解决方案:
1)您可以尝试Font
类的重载构造函数。其中一些包括尺寸作为参数之一。请参阅此处的构造函数文档:
https://msdn.microsoft.com/en-us/library/system.drawing.font.font(v=vs.110).aspx
示例:
new Font("font-family", 1.5F, FontStyle.Bold | FontStyle.Underline);
2)您可以尝试访问Size
Font
属性的Label
属性,如下所示:
championName.Font.Size = 1.5F;
让我知道你的发现。
答案 2 :(得分:-1)
考虑创建一个扩展Font()的MyFont()类。
通过这种方式,您可以创建一个更简化的参数界面,而不是诉诸“黑客”'在你的参数。