C# 怎样从字体的枝式字符串中反过来得到字体?

来源:百度知道 编辑:UC知道 时间:2024/09/24 03:25:56
FontDialog fontDialog1 = new FontDialog();
fontDialog1.ShowDialog();
string s = fontDialog1.Font.ToString();

//------------------------------------------------
经过上面的步骤,我可以得到:
s="[Font: Name=宋体, Size=9, Units=3, GdiCharSet=134, GdiVerticalFont=False]"

但是我的目的是, 怎么样让一个文本框textBox1的字体和颜色按s的内容来显示呢?
直接用对话框我会做, 直接改一下textbox1的属性就好了.
但是我是要把字体的信息保存下来到数据库中, 下次再显示, 所以必须经过一个从字符串转成字体格式的过程.
"自己解析这个字符串设置font属性就行了",兄弟, 我懂这个我还发问题吗?
怎样解析呀, 具体一点呢?

利用FontConverter
FontConverter fc = new FontConverter();
this.fontDialog1.ShowDialog();
this.label1.Text = fc.ConvertToString(this.fontDialog1.Font);
this.label1.Font = (Font)fc.ConvertFromString(this.label1.Text);

分别把这些 Font属性当作字段保存在数据库里面不就行了。
保存时 Font f=fontDialog1.Font;
insert into fonttable (fontname,size,units,gdicharset,gdiverticalfont) values (f.Name,f.Size......)
获取时 Font f1=new Font(); f1.Name={对应数据库里面的字段的值}
f1.Size=.......
最后设置 textbox1.font=f1

自己解析这个字符串设置font属性就行了。简单点用个static方法就行,要满足OOP也可以派生一个fontdiaglog类,加一个setFont(string)方法封装起来