2011-08-11 18 views
0

このコードhereにカスタムコントロールの作成方法が説明されています。これらのコントロールをボタンとして使用していますが、コードをもう少し理解し始めたので、同じ描画技法を使用してテキストボックスコントロールを作成してみたいと思います。私はそのテーマに関するいくつかの例を無限に探してきましたが、1つしか見つけられませんでした。私は、テキストボックスを作成するために矩形が使用されている場合、テキストボックスに書き込み可能な方法を理解していません。誰もC#でカスタムコントロールを作成する経験はありますか?私は上記のリンクのテーマにマッチすることができるように私のテキストボックスを希望します。それはカスタムメイドでなければならない理由です。カスタムTextBoxコントロールの描画

+1

TextBoxは非常に再現性がありません。だから誰もそれをしないのです。長方形ですか?いいえ、コントロール、別名ウィンドウ。 TextRenderer.DrawText()。 –

答えて

3

まず、新しいテキストボックスコントロールの実装はちょっと複雑なことです。以下の点を考慮する必要があります:

1)あなたのテキストボックスは何をすべきですか?ユーザーはどのように対話できますか?あなたは必然的にどんな出来事を投げますか? 2)テキストボックスはどのように描画する必要がありますか?アウトラインを持つシンプルなボックスか、ユーザがインタラクティブになると異なる要素を持っていますか?

独自のテキストボックスを実装するには、DirectXおよびDirectDrawing領域からのサンプルを参照することから始める必要があります。サンプルは、C++のためのものであるが、)windowsformsまたはWPFの図面で使用される概念は同じである:

http://www.uc-forum.com/forum/d3d-tutorials-and-source/65377-make-textbox-ingame-console-directx.html

より直接的サンプル(説明HOWTOは、既存のテキストボックスを拡張)ここで見つけることができる: http://www.codedblog.com/2007/09/17/owner-drawing-a-windowsforms-textbox/

すべてあなたの目標を達成するためには、初めから基本的なテキストボックスを拡張しようとすると、単純なチェックボックスのように複雑ではないコンポーネントから始めます。最後に、独自のテキストボックスコントロールを実装することができます;)

関連する問題