Ошибка времени выполнения, когда Application.SetCompatibleTextRenderingDefault (false); установлено - PullRequest
0 голосов
/ 16 мая 2019

Попытка преобразовать приложение Console в приложение Winform.Следующий Winform код компилируется нормально, но во время выполнения я получаю следующую ошибку.Я пробовал различные варианты подобных ошибок в Интернете, но все еще был немного смущен.Может быть, кто-то здесь может помочь для моего следующего конкретного кода:

ПРИМЕЧАНИЕ: Это, вероятно, не относится к вопросу этого поста.Но на всякий случай: я ссылаюсь на micaut 1.0 Type Library в моем VS2017 проекте, который необходим для кода ниже.

Ошибка [в Winform]:

SetCompatibleTextRenderingDefault необходимо вызвать до того, как в приложении будет создан первый объект IWin32Window.

Код из консольного приложения :

using System;
using System.Windows.Forms;
using micautLib;

namespace MathInputPanel
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            MathInputControl ctrl = new MathInputControlClass();
            ctrl.EnableExtendedButtons(true);
            ctrl.Show();
            ctrl.Close += () => Application.ExitThread();
            Application.Run();
        }
    }
}

Попытка преобразовать вышеуказанный код в приложение Winform [которое выдает ошибку]:

using System;
using System.Windows.Forms;
using micautLib;

private void button1_Click(object sender, EventArgs e)
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false); //error occurs here

    MathInputControl ctrl = new MathInputControl();

    ctrl.EnableExtendedButtons(true);
    ctrl.Show();
    ctrl.Close += () => Application.ExitThread();
    Application.Run();
}

1 Ответ

2 голосов
/ 16 мая 2019

Поскольку ошибка пытается сообщить вам, вы можете вызвать эту функцию только перед созданием первой формы.

Переместите это в Main() (если его там еще нет).

...