我一直在努力爲自己的問題找到正確的答案。並且花費了無數天在線搜索和文檔搜索,並且一無所獲。將字符串轉換爲字體
我有一個文本文件,其中包含一堆文本。並在文件中的線路之一將包含一些像這樣的字體信息:
宋體,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
我被告知。而我創造的第二個問題導致比第一次更差的答案。 –