- - PR -
フォームの背景を透明にしてラインを引きたい
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2005-03-18 03:11
とし と申します。
#初書き込みです。よろしくお願いします。 VB.NETをはじめたばかりなのですが、 Formの背景を透明にするとラインを一瞬書いて消えてしまいます。 どうやれば作画できるのでしょうか? コードは Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.TransparencyKey = Color.White Me.BackColor = Color.White Dim g As System.Drawing.Graphics g = Me.CreateGraphics g.DrawLine(Pens.Red, 50, 25, 200, 350) End Sub とやったのですが。 教授お願い致します。 |
|
投稿日時: 2005-03-18 04:34
こんばんは、じゃんぬねっと です。
Load 以外のイベントでやるとどうでしょうか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
|
投稿日時: 2005-03-18 09:27
再描画していないから・・・
OSは画面上に書いた画像を保持してくれません。したがってウィンドウが隠れたり、何かの都合で再度出力しなおす必要が生じたときに、再描画するのはアプリケーションの責任で行います。画面を再描画する必要が生じたときにはPaintイベントが発生しますので、普通はPaintイベント内で描画します。 Loadイベントで描画しているのには何かわけがあるのでしょうか?VB6.0にはAutoRedrawプロパティをTrueにしておけば、ウィンドウへの描画内容を記憶して、自動的に再描画する機能が使えました。VB.NETではこの機能はありませんので、必要なら自分で仕組みを実装して下さい。 |
|
投稿日時: 2005-03-18 10:14
じゃんぬねっとさん、甕星さんご返答ありがとうございます。
Loadイベントで描画しているのは別に意味はありません。 そうですね、再描画しないといけないですね。 Paintイベントでうまくいきました。 そんな、基本的な事も分からないんで苦労しています。 くだらない質問で申し訳ありません。 ありがとうございました。 |
1
