Почему я не могу использовать эти методы для проверки установленных шрифтов? - PullRequest
0 голосов
/ 28 февраля 2020

Я использовал все предложенные методы из этой следующей топи 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());
    }
}

ОБНОВЛЕНО:

Я снова проверил свойства своего проекта и снял флажок "Оптимизировать код" в " Вкладка "Построить", то все заработало.

...