テキストボックスのテキストをドラッグする機能

テキストボックスのテキストをドラッグする機能の実装が意外と大変なMicrosoft Visual Studio 2005。
この機能なら結構簡単にできるだろうと作業に取りかかる前には思っていましたが、意外と大変。よく使う機能だと思うのに、なんで簡単に実装できないんでしょう。
Drag&Drop(ドラッグ&ドロップを行う)(こちらはListBoxからのドラッグ)を参考にテキストボックスからのドラッグを実装しましたが、私のコードは無理矢理な感があります。もっとスマートにできるはずでしょうが、機能の実装が優先でコードを奇麗に書くのは後回しです。最後にコードを整えるのですが、皆さんはどうしているのでしょうか。