none
Win10 ver 1803 下的 預設字型? RRS feed

  • 問題

  • 目前遇到的問題,不知是否是能發在這個版。

    有一支程式在Win10 ver 1803上,出現一堆亂碼。經檢查後,發現是當時coding字型的關係。

    小弟用這段範例CODE還原那個情況。

    Font ft = new Font("", 19);
    this.Font = ft;
    label1.Font = ft;
    textBox1.Font = ft;
    
    textBox1.Text = ft.ToString();

    但是在Win 10 ver 1709以下的版本 ,win 7/xp 都是正常。

    目前在Win 10 ver1803 的平板或桌機 都是同樣狀況。

    有嘗試修改系統字型、使用相容性功能也是一樣。

    在不改CODE的情況下,請問有其他方法可以解嗎?


    • 已編輯 ☜GEO☞ 2018年6月27日 上午 08:33
    2018年6月27日 上午 08:32

所有回覆

  • 如果舊版本的預設字型為Sans Serif, 不如就在new Font時,第一個參數傳入Sans Serif就沒有這個困擾了
    2018年6月28日 上午 12:38
  • 謝謝大大的回覆。

    改CODE代入參數 (Sans Serif或是其他字型) 這不是什麼問題~

    (雖然原程式碼,已經有太多地方使用這方式宣告)

    後來再測試時,發現Label 和 TextBox 會呈現不同情況。

    Font ft = new Font("", 19);
    this.Font = ft;
    label1.Font = ft;
    textBox1.Font = ft;
    
    label1.Text = ft.ToString(); -- 和 TextBox 比較的不同
    textBox1.Text = ft.ToString();


    由圖看到 Label 和 TextBox 二者呈現不用的結果,但把TextBox的值COPY 到 純文字上,則內容是和Label一樣的。

    難道在新版的Win10 ver 1803版,TextBox 有特別被執行環境系統處理,所以Layout時變成其他特殊字型?


    • 已編輯 ☜GEO☞ 2018年6月28日 上午 06:55
    2018年6月28日 上午 06:51
  • 可以試在InitializeComponent前設定Form的預設字型看看:

    this.Font = SystemFonts.DialogFont;
    InitializeComponent();

    2018年6月29日 上午 12:20
  • 在 Win10 Ver1803 安裝VS2017 進行測試,還是一樣。

    2018年7月2日 上午 06:39