|  | 分類:[C#]
 
 [.NET Framework 4]
 
 現在、TextBox から派生したコントロール (TextBoxEx) があります。
 この TextBoxEx に、NumericUpDown のようなスピンボタンを実装したいと思っています。
 
 そこで、TextBox から派生さるのをやめて UpDownBase から派生させようと思いました。
 ここで問題となったのが、TextBoxEx はクリップボードからの貼り付けの制御など (他にも) を行うために、WndProc メソッドをオーバーライドしていることです。
 
 UpDownBase から派生させた場合、このメッセージを捕まえることができません。
 # UpDownBase はコンテナコントロールで、子コントロールに TextBox を含んでいる。
 # 子コントロールのメッセージは処理できない (はず)。
 
 UpDownBase が内部に持っている TextBox を TextBoxEx に置き換えられれば最も楽そうですが、そんな方法は分かりません。
 # むりやりできたとして、UpDownBase の実装に問題がでない自信も持てない。
 
 そのため、この方法は一旦諦め、TextBoxEx に自前のスピンボタンを乗せてみようと思いました。
 この際、なるたけ標準コントロールと外観を同じにしたいため、UpDownButtons (UpDownBase で使用されているも参照できず) の見た目で実装したいです。
 が、上記の通りコントロールは参照できず、〜〜Renderer クラスも見当たりません。
 
 
 手段は上記の手段にこだわっておりません。
 上記手段での解決方法、または別のアプローチで解決する術があるでしょうか。
 
 
 よろしくお願いします。
 
 |