我用NuGet
下载了Material Skin
。
然后,我使用material skin
做了一个更漂亮的表单设计。
然而,在我的项目中有一个问题,字体不会改变。
例如,如果更改属性中的字体大小和字体系列,它将在设计视图中应用,但当代码运行时,它不会在窗体中应用更改。
这是我的源代码:
using MaterialSkin.Controls;
using MaterialSkin;
public partial class Main : MaterialForm
{
public Main()
{
InitializeComponent();
var materialSkinManager = MaterialSkinManager.Instance;
materialSkinManager.AddFormToManage(this);
materialSkinManager.Theme = MaterialSkinManager.Themes.LIGHT;
materialSkinManager.ColorScheme = new ColorScheme(Primary.BlueGrey800, Primary.BlueGrey900, Primary.BlueGrey500, Accent.LightBlue200, TextShade.WHITE);
this.Label1.font = new Font("Arial", 30f, FontStyle.Bold);
this.Label2.font = new Font("Arial", 18f, FontStyle.Bold);
}
}
在Roboto
字体中,我的material label(Label 1, Label 2)
字体不会无条件更改。
但是,它能够更改System.Windows.Forms.label
对象中的字体。
我不能理解这个问题。
请帮帮我。
发布于 2021-01-11 09:20:26
在materialSkinManager中设置材质外观对象的字体。
因此,我认为直接更改材质外观对象中的字体是不可能的。
但是,如果要替换所有字体,可以尝试以下代码:
var materialSkinManager = MaterialSkinManager.Instance;
materialSkinManager.AddFormToManage(this);
materialSkinManager.Theme = MaterialSkinManager.Themes.LIGHT;
materialSkinManager.ColorScheme = new ColorScheme(Primary.BlueGrey800, Primary.BlueGrey900, Primary.BlueGrey500, Accent.LightBlue200, TextShade.WHITE);
// Code added by me
materialSkinManager.ROBOTO_REGULAR_11 = new Font("Arial", 30f, FontStyle.Regular);
materialSkinManager.ROBOTO_MEDIUM_12 = new Font("Arial", 30f, FontStyle.Bold);
materialSkinManager.ROBOTO_MEDIUM_11 = new Font("Arial", 30f, FontStyle.Regular);
materialSkinManager.ROBOTO_MEDIUM_10 = new Font("Arial", 30f, FontStyle.Bold);
我检查了能够与MaterialSkin 0.2.2一起使用的c#代码
谢谢。
https://stackoverflow.com/questions/65660227
复制相似问题