- PR -

TextBoxのBorderStyleをプロパティで設定可能な3種類以外に変更したい

1
投稿者投稿内容
レイル
常連さん
会議室デビュー日: 2008/10/14
投稿数: 37
投稿日時: 2009-03-23 17:17
お世話になります。

VB.NET2005の環境で、TextBoxの境界線(枠線)を凸し、その枠の太さを変更する必要があり、ご教授頂ければと思います。

TextBoxのBorderStyleではFixedSingle or Fixed3Dのみ指定が可能なため、
上記の様な実装が出来ませんでしたが、
Panelの中にTextBoxをいれ、PanelをControlPaint.DrawBorder3Dメソッドで枠線をBorder3DStyle.Bumpに変更する事で、TextBoxの枠線に凸を表現する事ができました。

上記の様に枠線の描画まではできましたが、枠線の太さを変更する事が出来ず、
実装するためにはどの様な手法がありますでしょうか?


コード:

Using pG As Graphics = Panel.CreateGraphics
ControlPaint.DrawBorder3D(pG, Panel.ClientRectangle, Border3DStyle.Bump)
End Using



### CODE修正


[ メッセージ編集済み 編集者: レイル 編集日時 2009-03-23 17:22 ]
jiji
会議室デビュー日: 2009/03/10
投稿数: 16
投稿日時: 2009-03-23 18:40
>枠線の太さを変更

誤魔化しですが、こんなんで、それっぽく見えませんか?
C#ですが・・・
int px = 5; //枠線の太さ
Button bt = new Button();
bt.Width = textBox1.Width + px * 2;
bt.Height = textBox1.Height + px * 2;
bt.Left = textBox1.Left - px;
bt.Top = textBox1.Top - px;
bt.SendToBack();
bt.Enabled = false;
this.Controls.Add(bt);
レイル
常連さん
会議室デビュー日: 2008/10/14
投稿数: 37
投稿日時: 2009-03-24 09:03
返信有難う御座います。

なるほど、buttonを使っての枠線を描画するのですね。
ただこれですと、枠が溝(凹)になってしまっており、
枠が膨らんだ(凸)様にはみえませんでした。

見た目は下記コードで記載したの近いのですが、
やはり太さが・・・。
1

スキルアップ/キャリアアップ(JOB@IT)