Невозможно программно повлиять на управление сцинтиллами во время выполнения - PullRequest
0 голосов
/ 11 марта 2010

Я пытаюсь использовать ScintillaNET control в приложении, над которым я работаю. Я перетаскиваю элемент управления в мою форму и запускаю форму. Элемент управления отображается в форме. Это хорошо. Кроме того, если я задаю какое-либо из свойств в редакторе свойств элемента управления (например, ConfigurationManager.Language), я могу печатать на этом языке и видеть подсветку синтаксиса.

Когда я сталкиваюсь с проблемами, я пытаюсь изменить свойства программным способом. Например, я пытаюсь загрузить текст из файла в форму (я делаю это в форме загрузки). Текст не отображается. Я также не могу показать номера строк или выполнить любое другое количество задач (в том числе программно изменить язык).

Есть идеи, что я могу делать не так? Кажется, что даже такой простой код, как приведенный ниже, не работает:

private void scintilla1_Load(object sender, EventArgs e)
{
    scintilla1.ConfigurationManager.Language = "xml";
}

Ответы [ 2 ]

1 голос
/ 06 января 2011

Просто добавьте scintilla1.ConfigurationManager.Configure();

private void scintilla1_Load(object sender, EventArgs e)
{
    scintilla1.ConfigurationManager.Language = "xml";
    scintilla1.ConfigurationManager.Configure();
}
0 голосов
/ 11 марта 2010

Потратив некоторое время на игры с различными событиями, кажется, что я не могу влиять на элемент управления Scintilla, пока он не станет видимым. Следовательно, событие «Load» не позволяет мне вносить какие-либо программные изменения в элемент управления, пока я не установил его видимым.

Это немного странно, и мне вообще кажется бессмысленным иметь событие Load, но я просто хотел, чтобы все знали, что происходит, если кто-то столкнулся с той же проблемой.

...