2011-06-27 20 views
1

コード内に「空白」が表示されるように、Visual Studioにオプションがあります。これはファイル差分ビューアでもよく見られます。空白をテキストボックスまたはリッチテキストボックスに表示

これは私のソフトウェアで同様のタイプの表示オプションを使用できるようにVB.net(または他の方法)でこれをどのように実現できるか知っている人はいますか?

私はまだこれをやろうとはしていませんが、実際に小さなタブの "矢印"とスペース "ドット"をGDI経由で手動で追加するテキストボックスの "ペイント"をオーバーライドするか、最初からのコントロール。私にはもっと簡単な方法がありそうです。

ご意見やご提案は歓迎します。

+0

[正規表現](http://en.wikipedia.org/wiki/Regex)を使用したことがありますか? –

+1

タブとスペースを見つけることは問題ではなく、複数の方法で行うことができます。実際には、ユーザーが見るための「synbol」を表示するために、SPACEとTAB文字自体を実際にオーバーライドすることです。 – DarrenMB

+0

ほとんどの努力をして、必要なものを得るためのキーイベントを単純に上書きすることができます。 – Marc

答えて

1

文書の全体がvbTab定数を検索すると、小さな矢印に置き換える()(灰色またはwhatevで描かれた。あなたが欲しい)

は、スペース文字のために同じことをしますが、と交換グレーのドット(·
あなたは、戻ってそれを変更するスペースで·を交換し、これをtrueにブール(useSymbol)を設定し、このブール値を使用して行われた後、タブ

と矢印()を交換したい場合レギュラを印刷するかどうかを確認するテキストボックスのkeydownイベントrスペース/タブまたは·/

+1

これはかなり知的です。実際に文字とフォントを変更する必要はありませんでした。私は矢印にWebdings 3 "g"文字を使用することができ、明るいフォントのドットとしてWebdings = ""を使用すると、グラフィカルなレンダリングを完全に回避することができます。また、私は "通常の"テキストが必要なときにそれを解析する拡張メソッドを使用することができます。とても素敵な、2サムズアップ! – DarrenMB

+0

これは機能しますが、タブがあなたに与えるスペースは失われます。矢印の文字は1文字ですが、タブの幅は1〜8文字です。何か案は? – alldayremix

+0

@alldayremixたぶん、矢印と置き換えることができるかもしれません+いくつかの先頭と末尾の特殊な空白文字、スペースとは何も変わらないので、切り替え時に点に置き換えることはできません – Qqbt

関連する問題