閱讀74 返回首頁    go 阿裏雲 go 技術社區[雲棲]


關於RichTextBox字體的問題

大部分控件你把屬性設置成什麼,那麼預覽以及運行的時候自然字體也就是那種類型——比如普通的WinForm程序中,TextBox的字體包含字號、樣式等屬性……一旦設置了它們,你運行帶有此文本框的程序,自然輸入的字體樣式等也是如此。

但是RichTextBox不然——如果你把一個RichTextBox設置成“宋體,二號”或者其它中文字體,那麼你運行程序,你會很驚訝的發現輸入中文的時候的確是宋體二號,但是輸入西文(如英語等),字體就不再是中文字體了,而是Arial或者其它默認的某個國家的西文字體。

這是為什麼呢?究其原因在於RichTextBox有一個LanguageOption屬性,它是一個枚舉值(可以參考:https://msdn.microsoft.com/zh-cn/library/system.windows.forms.richtextboxlanguageoptions)——默認情況下會根據鍵盤調整自動調整輸入字體大小、字態……。因此必須重設該屬性(設置為UIFonts即可,Form_Load事件中)。

    private void MainForm_Load(object sender, EventArgs e)
     {
            TxtEditor.LanguageOption = RichTextBoxLanguageOptions.UIFonts; //防止中英文字體不一致

     }

最後更新:2017-04-03 18:51:47

  上一篇:go 排序算法係列之選擇排序
  下一篇:go Android仿iPhone晃動撤銷輸入功能(微信搖一搖功能)