質問者
宣言されていません。アクセスできない保護レベルになっています。

質問
-
下のやつの頭文字”g”が宣言されていません。アクセスできない保護レベルになっています。
と表示されてしまいます。どうすればよいですか
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Clickg.FillRectangle(Brushes.Black, 300, 30, 20, 20)
g.FillRectangle(Brushes.Black, 320, 50, 20, 20)
g.FillRectangle(Brushes.Black, 300, 70, 20, 20)
g.FillRectangle(Brushes.Black, 320, 90, 20, 20)
g.FillRectangle(Brushes.Black, 300, 110, 20, 20)
g.FillRectangle(Brushes.Black, 320, 130, 20, 20)
g.FillRectangle(Brushes.Black, 300, 150, 20, 20)
g.FillRectangle(Brushes.Black, 320, 170, 20, 20)
g.FillRectangle(Brushes.Black, 300, 190, 20, 20)
g.FillRectangle(Brushes.Black, 320, 210, 20, 20)
g.FillRectangle(Brushes.Black, 300, 230, 20, 20)
g.FillRectangle(Brushes.Black, 320, 250, 20, 20)
g.FillRectangle(Brushes.Black, 300, 270, 20, 20)
g.FillRectangle(Brushes.Black, 320, 290, 20, 20)
g.FillRectangle(Brushes.Black, 300, 310, 20, 20)
g.FillRectangle(Brushes.Black, 320, 330, 20, 20)
g.FillRectangle(Brushes.Black, 300, 350, 20, 20)
g.FillRectangle(Brushes.Black, 320, 370, 20, 20)
g.FillRectangle(Brushes.Black, 300, 390, 20, 20)
g.FillRectangle(Brushes.Black, 320, 410, 20, 20)
g.FillRectangle(Brushes.Black, 300, 430, 20, 20)
g.FillRectangle(Brushes.Black, 320, 450, 20, 20)
g.FillRectangle(Brushes.Black, 300, 470, 20, 20)g.FillEllipse(Brushes.Red, 900, 280, 60, 60)g.FillRectangle(Brushes.Red, 800, 70, 100, 60)
g.FillRectangle(Brushes.Blue, 800, 140, 100, 60)
System.Threading.Thread.Sleep(1000)g.FillEllipse(Brushes.Yellow, 900, 340, 60, 60)System.Threading.Thread.Sleep(1100)g.FillEllipse(Brushes.LightGreen, 900, 400, 60, 60)System.Threading.Thread.Sleep(1000)
g.FillRectangle(Brushes.White, 800, 70, 100, 60)
g.FillRectangle(Brushes.White, 800, 140, 100, 60)
g.FillRectangle(Brushes.Red, 770, 70, 100, 60)
g.FillRectangle(Brushes.Blue, 770, 140, 100, 60)
g.FillRectangle(Brushes.White, 900, 280, 60, 60)System.Threading.Thread.Sleep(1000)
g.FillRectangle(Brushes.White, 770, 70, 100, 60)
g.FillRectangle(Brushes.White, 770, 140, 100, 60)
g.FillRectangle(Brushes.Red, 735, 70, 100, 60)
g.FillRectangle(Brushes.Blue, 765, 140, 100, 60)
g.FillEllipse(Brushes.LightGreen, 880, 400, 60, 60)
g.FillEllipse(Brushes.Yellow, 880, 340, 60, 60)g.FillEllipse(Brushes.Red, 880, 280, 60, 60)
System.Threading.Thread.Sleep(1000)
g.FillRectangle(Brushes.White, 740, 70, 100, 60)
g.FillRectangle(Brushes.White, 765, 140, 100, 60)
g.FillRectangle(Brushes.Red, 730, 70, 100, 60)
g.FillRectangle(Brushes.Blue, 740, 140, 100, 60)System.Threading.Thread.Sleep(1000)
g.FillRectangle(Brushes.White, 730, 70, 100, 60)
g.FillRectangle(Brushes.White, 740, 140, 100, 60)
g.FillRectangle(Brushes.Red, 720, 70, 100, 60)
g.FillRectangle(Brushes.Blue, 710, 140, 100, 60)System.Threading.Thread.Sleep(1000)
g.FillRectangle(Brushes.White, 720, 70, 100, 60)
g.FillRectangle(Brushes.White, 710, 140, 100, 60)
g.FillRectangle(Brushes.Red, 710, 70, 100, 60)
g.FillRectangle(Brushes.Blue, 660, 140, 100, 60)System.Threading.Thread.Sleep(1000)
g.FillRectangle(Brushes.White, 710, 70, 100, 60)
g.FillRectangle(Brushes.White, 660, 140, 100, 60)
g.FillRectangle(Brushes.Red, 670, 70, 100, 60)
g.FillRectangle(Brushes.Blue, 655, 140, 100, 60)System.Threading.Thread.Sleep(1000)
g.FillRectangle(Brushes.White, 670, 70, 100, 60)
g.FillRectangle(Brushes.White, 655, 140, 100, 60)
g.FillRectangle(Brushes.Red, 645, 70, 100, 60)
g.FillRectangle(Brushes.Blue, 645, 140, 100, 60)System.Threading.Thread.Sleep(1000)
g.FillRectangle(Brushes.White, 645, 70, 100, 60)
g.FillRectangle(Brushes.White, 645, 140, 100, 60)
g.FillRectangle(Brushes.Red, 600, 70, 100, 60)
g.FillRectangle(Brushes.Blue, 635, 140, 100, 60)System.Threading.Thread.Sleep(1000)
g.FillRectangle(Brushes.White, 600, 70, 100, 60)
g.FillRectangle(Brushes.White, 635, 140, 100, 60)
g.FillRectangle(Brushes.Red, 580, 70, 100, 60)
g.FillRectangle(Brushes.Blue, 570, 140, 100, 60)
End SubPrivate Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.LoadEnd Sub
End Class
すべての返信
-
g が宣言されていないのでフォームに直接描画を行うには下記のようにしてみてはいかがでしょうか?
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim g As Graphics g = Me.CreateGraphics '...描画処理(ご質問で書かれているような描画処理) End Sub
ただ、上記の処理はボタンを押下した際に1度だけ画面に直接描画するだけなので、画面の再描画が必要になっても
自動的に再描画は行ってくれません。再描画については下記の投稿が参考になるかと思います。https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/3e52f1bd-7c32-4f93-9c30-4c9016ff8468
- 編集済み kenjinoteMVP 2019年5月14日 1:14
- 回答の候補に設定 Haruka6002Microsoft contingent staff, Moderator 2019年5月16日 8:35