Я использовал все предложенные методы из этой следующей топи c, но не повезло.
Проверьте, установлен ли шрифт
Когда я отлаживаю, он всегда пропустить после строки условия «If» без проверки. Я не знаю почему.
Например:
string fontName = "Consolas";
float fontSize = 12;
using (Font fontTester = new Font(
fontName,
fontSize,
FontStyle.Regular,
GraphicsUnit.Pixel))
{
if (fontTester.Name == fontName) <<<<< [1]
{
// Font exists
}
else
{
// Font doesn't exist
}
} <<<<< [2]
После того, как я отметил и нажал F10 / F11 в строке [1], он всегда go до [2] без проверки .
Это мой действительный код:
private static void Main(string[] args)
{
if (args.Length == 0)
{
args = new string[] { AppDomain.CurrentDomain.BaseDirectory + System.Reflection.Assembly.GetExecutingAssembly().GetName().Name + ".txt" };
}
if (args.Length > 0)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
string fontName = "Free 3 of 9 Extended";
float fontSize = 12;
using (Font fontTester = new Font(
fontName,
fontSize,
FontStyle.Regular,
GraphicsUnit.Pixel))
{
if (fontTester.Name == fontName)
{
// Font exists
}
else
{
// Font doesn't exist
}
}
Application.Run(new MenuForm());
}
}
ОБНОВЛЕНО:
Я снова проверил свойства своего проекта и снял флажок "Оптимизировать код" в " Вкладка "Построить", то все заработало.