C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

フォーム内のライン


(過去ログ 3 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■2869 / inTopicNo.1)  フォーム内のライン
  
□投稿者/ YY 二等兵(1回)-(2006/03/20(Mon) 13:24:07)

分類:[VB.NET] 


分類:[VB.NET] 

フォーム中にラインを引きたいのですが、VB6.0では、Lineコントロールが
ありましたが、VB.NETには無いみたいですが、どのように行えばいいですか?
因みに、DrawLineオブジェクトで引けるみたいですが、最小化、最大化と
いったん画面をWindow上から消して、再表示させたときには、引いたラインが
消えてしまいます。

再表示しても消えない方法、もしくは、VB6.0のLineコントロールと同等な
ものをご存知の方 ご教授ねがいます

0
引用返信 編集キー/
■2870 / inTopicNo.2)  Re[1]: フォーム内のライン
□投稿者/ YAS 一等兵(20回)-(2006/03/20(Mon) 14:00:18)
YAS さんの Web サイト

分類:[VB.NET] 

YYさん,こんにちは。
再表示しても消えないようにする例です。

Me.BackgroundImage = New Bitmap(Me.Width, Me.Height)
Dim g As Graphics = Graphics.FromImage(Me.BackgroundImage)
g.DrawLine(Pens.Black, 0, 0, Me.Width, Me.Height)


0
引用返信 編集キー/
■2871 / inTopicNo.3)  Re[1]: フォーム内のライン
□投稿者/ 魔界の仮面弁士 軍曹(72回)-(2006/03/20(Mon) 14:03:01)

分類:[VB.NET] 

> 因みに、DrawLineオブジェクトで引けるみたいですが、
その描画対象となる Graphics は、どこから取得されましたか?


> 再表示させたときには、引いたラインが消えてしまいます。
VB6 の Lineメソッド(≠Lineコントロール)の場合には、そのような場合、
AutoRedraw を使うかPaint イベントにて再描画する事になっていましたよね。

VB.NET でも同様です。

CreateGraphics にて取得したものであれば、(VB6の)AutoRedraw = False の
場合のように、最小化などで消える事になります。

その場合には、Paint イベント(の引数にある Graphics)を使って処理すれば、
適宜再描画する事ができます。

また、(VB6の)AutoRedraw = True の場合のように、継続表示させたいのなら、
Bitmapクラス等で、メモリ上にキャンパスを用意しておき、そこに DrawLine
してから、それを PictureBox.Image などに割り当てれば良いかと。

0
引用返信 編集キー/
■2875 / inTopicNo.4)  Re[2]: フォーム内のライン
□投稿者/ 中博俊 神(357回)-(2006/03/20(Mon) 15:48:31)
中博俊 さんの Web サイト

分類:[VB.NET] 

http://naka.wankuma.com/site/library/dotnet1.1/Wankuma.WindowsForms.WankumaBox1d.htm
http://naka.wankuma.com/site/library/dotnet1.1/Wankuma.WindowsForms.WankumaLine1d.htm

このへんもどうぞ

0
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -