我一直在努力为自己的问题找到正确的答案。并且花费了无数天在线搜索和文档搜索,并且一无所获。将字符串转换为字体
我有一个文本文件,其中包含一堆文本。并在文件中的线路之一将包含一些像这样的字体信息:
宋体,12.5例行
注意,字体信息并不总是具有相同的字体名称,大小或样式这样我就可以不要手动设置它。这个文件打开到我的应用程序,它将解析内容(我已经主要覆盖),我只需要一些帮助将上述字体字符串转换成实际的字体对象,然后将该字体分配给控件,即标签等...
有人可以帮我这个吗?
我一直在努力为自己的问题找到正确的答案。并且花费了无数天在线搜索和文档搜索,并且一无所获。将字符串转换为字体
我有一个文本文件,其中包含一堆文本。并在文件中的线路之一将包含一些像这样的字体信息:
宋体,12.5例行
注意,字体信息并不总是具有相同的字体名称,大小或样式这样我就可以不要手动设置它。这个文件打开到我的应用程序,它将解析内容(我已经主要覆盖),我只需要一些帮助将上述字体字符串转换成实际的字体对象,然后将该字体分配给控件,即标签等...
有人可以帮我这个吗?
你会想要使用Font class。假设你使用String.Split()来解析文本到一个数组,你将要采取的阵列的每个部分,并用它来create a Font object像:
string s = "Tahoma,12.5,Regular";
string[] fi = s.Split(',');
Font font = new Font(fi[0], fi[1],fi[2]);
我没有这台Mac上的C#编译器所以它可能不完全正确。
实例构造函数:
public Font(
string familyName,
float emSize,
FontStyle style
)
在这里,你需要指定第二个参数为float,所以投的字符串与浮动:
(float)fi[1]
接下来,你需要查找基于FontStyle关于什么fi 2是:
if (fi[2] == "Regular") {
// set font style
}
谢谢你brianly - 我有2个错误,虽然我不太确定他们的意思到底。第一个说: 参数'2':不能从'字符串'转换为'浮动'..第二个说: 参数'3':不能从'字符串'转换为'System.Drawing.FontStyle' .. –
您需要查看我为Font构造函数链接的文档。我的例子有太多争论。找到一个与你想传入的参数相匹配的构造函数。 –
谢谢BrianLy,我真的很感谢你帮助我。我仍然有同样的问题,但觉得我越来越接近我想要达到的目标。 +1 –
为什么会创建一个重复的问题? – shahkalpesh
我被告知。而我创造的第二个问题导致比第一次更差的答案。 –