主要参考:https://docs.microsoft.com/zh-cn/dotnet/api/system.drawing.fontconverter?view=netframework-4.8

    1.font>—-//关键的类
    var cvt = new FontConverter();
    //用这个代替ToString()
    string s = cvt.ConvertToString(f);
    MessageBox.Show(s);//形如”Microsoft Sans Serif, 8.25pt”
    //转回来
    Font x = cvt.ConvertFromString(s) as Font;
    label1.Font = x;

    2.fontstyle>—FontStyle myFontStyle = FontStyle.Bold; string myString = myFontStyle.ToString();
    string myString = myFontStyle.ToString();

    ///
    string myString = FontStyle.Bold.ToString();
    FontStyle myFontStyle = (FontStyle)Enum.Parse(typeof(FontStyle), myString, false); //最后的参数为是否忽略大小写

    出现问题:
    image.png
    在click里面这样写
    private void Signal_font_Click(object sender, EventArgs e)
    {
    System.ComponentModel.TypeConverter converter = System.ComponentModel.TypeDescriptor.GetConverter(typeof(Font));
    DialogResult result = fontDialog1.ShowDialog();
    if (result == DialogResult.OK)
    {
    string fontname1 = converter.ConvertToInvariantString(fontDialog1.Font);
    string fontname2 = converter.ConvertToString(fontDialog1.Font);
    Signal_font.Text = fontname1;
    //Signal_font.Font = fontDialog1.Font;
    }
    }