0

作業中のアプリケーションでScintillaNETコントロールを使用しようとしています。コントロールをフォームにドラッグアンドドロップして、フォームを実行します。コントロールがフォームに表示されます。これはいい。さらに、コントロールのプロパティエディター(ConfigurationManager.Languageなど)でいずれかのプロパティを設定すると、その言語を入力して、構文の強調表示が行われることを確認できます。

問題が発生するのは、プログラムでプロパティを変更しようとしたときです。たとえば、ファイルからフォームにテキストを読み込もうとします(これはフォームの読み込みで行います)。テキストは表示されません。また、行番号を表示したり、他の数のタスク(プログラムによる言語の変更を含む)を実行したりできないようです。

私が間違っているかもしれない何か考えはありますか?以下のコードのような単純なものでも機能しないようです。

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

2 に答える 2

1

単に追加するscintilla1.ConfigurationManager.Configure();

private void scintilla1_Load(object sender, EventArgs e)
{
    scintilla1.ConfigurationManager.Language = "xml";
    scintilla1.ConfigurationManager.Configure();
}
于 2011-01-06T15:47:35.553 に答える
0

さまざまなイベントで遊んだ後、Scintillaコントロールがすでに表示されるまで影響を与えられないようです。したがって、「Load」イベントでは、コントロールを表示するように設定するまで、プログラムでコントロールを変更することはできません。

少し奇妙で、Loadイベントを発生させるのは無意味に思えますが、他の誰かが同じ問題に遭遇した場合に備えて、何が起こっているのかをみんなに知らせたかっただけです。

于 2010-03-11T02:33:36.670 に答える