4

C# を使用して VS2008 で RichTextBox コントロールを拡張しています (プリンターのサポートと URL リンクを追加しています)。必要な機能のほとんどを備えていますが、コントロールはそれほど良くありません。画像サイズ変更ハンドルのマウス カーソルを変更する方法がわかりません。弾丸はサイズと色で狂ってしまいます。asp.netやwpfではないwinformにこれが必要です。HTML wysiwyg エディターよりも rtf を好みます。

リッチテキストボックスの代替品のほとんどは、.NET 1.0/1.1 が古すぎるか、単純すぎるか、複雑すぎて高価です。

Infragistics コントロール ライブラリを使用していますが、リッチテキスト ボックスに最も近いコントロールでは、必要なすべての機能が提供されません。それらは、テキスト ベースのコントロールと std winforms textbox および richtextbox の両方で動作するスペル チェック コントロールを提供します。IProvideTextBox または ISupportSpellChecking インターフェイスを実装するすべてのコントロールで動作します。残念ながら、機能的に豊富なテキスト ボックスの代替のほとんどは、IProvideTextBox または ISupportSpellChecking をサポートしない独自のスペル チェック アドオン コントロールを提供します。アプリケーションを使用して、同期を維持する必要がある複数の辞書ではなく、1 つの std 辞書をユーザーに配布したいと考えています。

もう 1 つのことは、richtextbox が単純なコントロールとして提供されることです。独自のメニュー コントロールを追加し、自分で配線する必要があります。高価な交換品のほとんどは、すぐに配線できるツールバーを提供します。これは素晴らしいことですが、すべてのアプリケーションに一貫したルック アンド フィールを開発する場合、ベンダーのツールバーを削除する必要があり、UI の残りの部分とは異なる外観と動作をするこの奇妙なメニュー ボタンのセットがあるため、これが難しくなります。また、アプリケーション スタイラーを使用してアプリケーションをスキンしています。サード パーティのメニュー コントロールは、この種のスタイルに対応していない可能性があります。

コストがかからず、winform で動作し、RTF をサポートし、画像サイズ変更ハンドルの適切なマウス オーバー トランジションと信頼性の高い弾丸サポートを備えた堅牢な、私が使用できる合理的な RichTextBox コントロールの置き換えを誰かが提案できますか。

私の現在のオプションは、私の努力を縮小し、それをカットしない機能のサポートを削除することですが、それでも使用可能なものを残します.

4

4 に答える 4

1

Microsoft Inkedit ControlをサポートするOSがあれば、いつでも試すことができます(64ビットWS2008とWindows XPで問題が発生しましたが、残りは問題ありませんでした)。

InkEditはRichTextBoxを継承するため、次のことができます。

        private System.Windows.Forms.RichTextBox richTextBox3;
        try
        {
            this.richTextBox3 = new Microsoft.Ink.InkEdit();
            Microsoft.Ink.InkEdit ie = (Microsoft.Ink.InkEdit)richTextBox3;
            // disable tablet-style ink mode
            ie.InkMode = Microsoft.Ink.InkMode.Disabled;
        }
        catch
        {
            \\ in case platform does not support inkedit control
            this.richTextBox3 = new RichTextBox();
        }

(私のマシン上で)次の場所にあるMicrosoft.Ink.dllへの参照を追加する必要があります。

C:\ Program Files \ Reference Assemblies \ Microsoft \ Tablet PC

このコントロールインク機能を使用する場合を除いて、機能としての大きなメリットはおそらくありません。しかし、テキストの読み込みは、以前のRichTextBoxよりも長いファイル(10x +)の方がはるかに高速であり、スクロールもスムーズになっているようです。

これは宣伝されていないようですが、Visual Studio2010B1には更新されたRichTextBoxコントロールもあります。

于 2009-09-11T21:37:36.587 に答える
0

私はScintillaNetを使用していますが、何らかの方法で (非常に) 複雑です。

于 2009-08-25T14:23:46.517 に答える