- 題名: 枠の描画後
- URL: http://dobon.net/vb/dotnet/graphics/drawcontrols.html
- 日時: 2010/03/12 15:13:03
- ID: 26550
- この記事の返信元:
- (なし)
- この記事への返信:
- [26551] Re[1]: 枠の描画後2010/03/12 18:08:00
- ツリーを表示
2010/03/12(Fri) 18:16:20 編集(投稿者)
おのでらです。以下の方法はどうでしょうか。
1.PictureBox の Paint イベント処理でフォーカス状態による分岐処理を作る。
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
if (this.pictureBox1.Focused)
{
// 枠描画処理
}
else
{
// 何も描画しない
}
}
2.描画イベントを発生させる。
各 PictureBox のクリックイベント処理内で PictureBox.Invalidate メソッドを呼ぶ。
これによって PictureBox が再描画されます。ただし、PictureBox 自体はクリックしてもフォーカスを持ちませんので、
クリックした直度に PictureBox.Focus メソッドを呼んでフォーカス状態を遷移してください。
分類:[.NET]
初めての質問になります。
ピクチャボックスをクリックしたときに表示する枠にURL内の「.NET Framework 2.0以降:ビジュアルスタイルの輪郭の描画」のコードを使用させていただきました。
今度は別のピクチャボックスにフォーカスが移ったときに最初のピクチャボックスに表示されている枠を消してからフォーカス移動後のピクチャボックスに枠を表示したいのですが、描画した枠はどうすれば消すことが出来るのでしょうか?
よろしくお願いします。