私はTextBox
このように見えるようにしたい
TextBox
コントロールの左側と右側を削除するにはどうすればよいですか?
通常、これを行うには OnPaint イベントをオーバーライドする必要がありますが、Textbox の場合、OnPaint が呼び出されないため、これは機能しません。
アプローチは、ここで説明されているように TextBox をサブクラス化することです
ただし、これを行うことはまったくお勧めしません。特にプログラミングに慣れていない場合は、私にとっては困難な作業のように思えます (自分でこれを行ったことはありません)。
TextBox の上または下に線を引くだけで十分でしょうか?
-編集-
多分これはそれをよりよく説明します:
TextBox は、カスタム ペイントできないという点で特別です。カスタム境界線だけが必要な場合は、新しい UserControl を作成し、境界線スタイルを [なし] に設定した TextBox を追加できます。TextBox の外側に境界線用の十分なスペースを確保してください。次に、UserControl サーフェスに境界線をペイントします。別の方法として、TextBox の WM_NCPAINT メッセージを処理して境界線を描画する方法がありますが、これはかなり複雑です。
ソース: msdn フォーラムの shawn.ohern:こちら (申し訳ありませんが、彼の投稿に直接リンクする方法がわかりませんでした)
-edit2- このリンクは、独自の TextBox を作成する方法を示しています。これも、C# とプログラミングに不慣れな人にはお勧めしません ;)
Windows フォームは Win32 API に基づいており、UI の記述に宣言型言語を使用する WPF とは異なり、独自のコントロールの描画を完全に制御できます。
こちらをご覧ください:カスタム コントロールのペイントとレンダリング。