色んな意味で日本語って難しいですね(^^;)
今、サンプルとして入力制限できるテキストコントロールを作ってます。
条件としては、「Shift-JIS」にエンコードしても文字化けしない事!です。
で、方向としては、どこかのタイミングで、制限したい文字列を
「""(空文字)」で置換しちゃえばOKかな、と。
置換といえば、「正規表現」って事で、調査開始♪
サロゲートは「Cs」でヒットしそうなんだけど、
(こんなカンジ?Regex.Replace("(入力文字列)", "[\p{Cs}]", ""))
結合文字とかShift-JISだと文字化けしそうなのを制限するのが
難しそう。。。
とりあえず、参照先だけφ(..)メモメモ
Unicode Consortium
JIS X 0213:2004 対応と新日本語フォント「メイリオ」について
Windows 7 互換性情報
Windows Vista 互換性情報
文字クラス
System.Text.RegularExpressions 名前空間
Regex.Replace メソッド
System.Globalization 名前空間
CharUnicodeInfo クラス
UnicodeCategory 列挙体