我試圖從我的程序中用於插入和添加符號的窗口中的CharMap程序複製(而不是一個確切的副本)。問題在於這些符號可以在Windows 7,8,10的機器上運行,但某些符號不會在Windows XP上顯示。一些Unicode字符沒有出現
的Windows XP
的Windows 7,8,10
我目前使用下面的生成我的符號:
public static string CharToHex(char c)
{
return ((ushort)c).ToString("X4");
}
string x = CharToHex(Convert.ToChar(defaultSymbolsCollection[i]));
int value = int.Parse(x, System.Globalization.NumberStyles.HexNumber);
string symbol = char.ConvertFromUtf32(value).ToString();
AddSymbol(Convert.ToString((char)value);
Void AddSymbol(string _symbolText)
{
Button symbolButton = new Button()
{
Text = _symbolText,
Size = new Size(32, 32),
Font = new Font("Arial Unicode MS", 9),
Tag = _symbolText,
UseMnemonic = false,
};
symbolButton.Click += SymbolButton_Click;
pnl_SymbolHolder.Controls.Add(symbolButton);
}
這最終只能在Windows 7,8,10上運行,而不能在Windows XP上運行。一些符號不顯示,而是由一個正方形表示,而其他符號則表示。
我該如何解決這個問題?我的另一種選擇是在按鈕的中心繪製符號,它總是在那裏,不管是因爲它被繪製,但我希望看到其他替代方案,可能是對這個問題的解決方案
您的代碼示例將按鈕文本設置爲未在代碼中定義的_symbolText? – stuartd
@stuartd固定。它是在一個void addSymbol()中,它需要在XP機器上安裝字符串_symbol – Zer0
是Arial Unicode MS嗎?這是非常常見的,但不是100%。 – stuartd