- PR -

FormのLoad時に、線を描きたい

1
投稿者投稿内容
kojiro_i619
大ベテラン
会議室デビュー日: 2006/08/17
投稿数: 100
投稿日時: 2008-09-12 10:47
よろしくお願いします。
Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim g As Graphics = PictureBox1.CreateGraphics()
g.DrawLine(Pens.Black, 0, 30, PictureBox1.Width, 0)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim g As Graphics = Me.PictureBox1.CreateGraphics()
g.DrawLine(Pens.Black, 0, 30, Me.PictureBox1.Width, 0)

End Sub
End Class
VB2005で、上記で、Button1_Clickには、線が描画されますが、Form1_Load時には、線が描画されません。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-09-12 11:24
引用:

kojiro_i619さんの書き込み (2008-09-12 10:47) より:

VB2005で、上記で、Button1_Clickには、線が描画されますが、Form1_Load時には、線が描画されません。


Load イベントで描画するコードを書いても無効化されます。 どうしようもないので別のイベントを使うようにしてください。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
kojiro_i619
大ベテラン
会議室デビュー日: 2006/08/17
投稿数: 100
投稿日時: 2008-09-12 11:34
わかりました。
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2008-09-12 11:50
こんにちは。

引用:

kojiro_i619さんの書き込み (2008-09-12 10:47) より:
VB2005で、上記で、Button1_Clickには、線が描画されますが、Form1_Load時には、線が描画されません。



どちらのイベントも描画のタイミングとして不適切です。
Windowsの作法に従い、Paint イベントで描画しましょう。
kojiro_i619
大ベテラン
会議室デビュー日: 2006/08/17
投稿数: 100
投稿日時: 2008-09-12 12:15
Tdnr_Sym、ありがとうございます。
意味が、今のところ理解できないので、じゃんぬねっと、さんの回答を適用します。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-09-12 15:54
引用:

kojiro_i619さんの書き込み (2008-09-12 12:15) より:

意味が、今のところ理解できないので、じゃんぬねっと、さんの回答を適用します。


いえ、Paint イベントを使いましょうという意味で良いです。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
kojiro_i619
大ベテラン
会議室デビュー日: 2006/08/17
投稿数: 100
投稿日時: 2008-09-12 17:05
じゃんぬねっと、さん、了解しました。
1

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