1

経由でを使用しScintillaNETています。ただし、コントロールにオートコンプリートの問題があるようです。オートコンプリート ドロップダウンに表示するテキストを保持するために を使用しています。変数は myで、私のエディターです:WPF/C#WindowsFormsHostList<string>langList<string>editorScintillaNET

lang.Add("fprintf");
lang.Add("fscanf");
lang.Add("printf");
lang.Add("scanf");
lang.Add("snprintf");

lang.Add("remove");
lang.Add("rename");
lang.Add("tmpfile");
lang.Add("tmpnam");

lang.Add("fclose");
lang.Add("fflush");
lang.Add("fopen");
lang.Add("freopen");
lang.Add("setbuf");
lang.Add("setvbuf");

editor.AutoComplete.List = lang; 

たとえば、入力printfした場合、ドロップダウンは単語に移動しprintfます . ただし、リストの後半に追加された単語 ( など) を選択するfopenと、同じ効果 ( と同様printf) は発生しません。ドロップダウンは、単語が存在しないかのように機能します。

しかし、単語はドロップダウンに正しく追加されています (リストを下にスクロールしたときのように)、fopenそこに表示されます。

fopen入力したときにオートコンプリートボックスが表示されないのはなぜですか?printf入力すると表示されるのはなぜprintfですか?どうすればこれを解決できますか?

4

2 に答える 2

4

Scintilla は、並べ替えられたリストが好きです。してみてください

lang.Sort();
editor.AutoComplete.List = lang;

それはあなたのためにトリックをするはずです。

基盤となる Scintilla エディターには自動並べ替え機能がありますが、これは私が確認した限りでは .NET バージョンには公開されていません。

于 2013-09-19T15:57:25.740 に答える