pictureboxとlabelについて への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 魔界の仮面弁士  (社会人) 投稿日時 2015/12/21 19:14:12
> Dim items() As String = quiz.Split(",")
折角読み取ったデータが、一切使われていないようですが…。


> はいどうぞこちらです
Paint イベントの中で、毎回ファイルを読み込むのは避けるべきです。
「データの読み込み」と「データの描画」は別の処理にしましょう。


> Dim fnt As New Font("MS UI Gothic", 12)
毎回 New するのではなく、デザイン時にあらかじめ picturebox11.Font を設定しておき、
 e.Graphics.DrawString("揚げせん食う?", picturebox11.Font, Brushes.Green, 40, 20)
のようにすることをお奨めします。

もし、Font を New するのであれば、使い終わった段階で
明示的に破棄せねばなりません。(Dispose メソッドを呼ぶか、
または、Using ブロックで囲む必要があるということです)
投稿者 初心者  (社会人) 投稿日時 2015/12/21 15:55:29
はいどうぞこちらです

はいどうぞこちらです
Private Sub picturebox11_Paint(sender As Object, e As PaintEventArgs) Handles PictureBox11.Paint
         Dim fnt As New Font("MS UI Gothic", 12)
         Dim quiz = File.ReadLines(Me.File, Encoding.GetEncoding("Shift_JIS")).Skip(Me.Line).FirstOrDefault()
         Dim items() As String = quiz.Split(",")
         e.Graphics.DrawString("揚げせん食う?", fnt, Brushes.Green, 40, 20)
     End Sub 







投稿者 (削除されました)  () 投稿日時 2015/12/21 15:54:04
(削除されました)
投稿者 レオ  (中学生) 投稿日時 2015/12/21 15:41:18
できればコードを貼り付けて見せてほしいです。
投稿者 初心者  (社会人) 投稿日時 2015/12/19 11:20:14
無事できました!
ありがとうございました!
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2015/12/18 17:40:25
このサイトの初級講座、第2回「絵を描く」にて、Form に描画する方法が
紹介されています。これを PictureBox に置き換えてみてください。
http://homepage1.nifty.com/rucio/VBStandard/vbstandard2.htm

文字列を描くためには、上記の「4-1.」で紹介されている
"DrawString" を使えば OK です。


より具体的な文字列描画のサンプルが必要であれば、
下記の「文字列の描画」シリーズが役に立つかもしれません。
http://dobon.net/vb/dotnet/graphics/index.html



-- 以下、管理人である rucio さん向け --

初級講座のトップページとなる shokyu/index_sta.htm を見ると、誤って
「第2回 絵を書く」になっていました。主題 VBStandard/vbstandard2.htm では
「第2回 絵をかく」の表記であり、そして、同ページの <title> 部では
「VB 絵を描く - Paintイベント,Graphics, Pen, Pens」と、表記が揺れているようです。
投稿者 初心者  (社会人) 投稿日時 2015/12/18 16:08:22
すみません!
本当に初心者なのでPictureBox 上に、文字列を描画するについて調べてもよくわかりません
できればもう少しヒントをいただけませんか?
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2015/12/18 15:31:29
PictureBox 上に「Label を配置する」のではなく、
PictureBox 上に、文字列を「描画」することを検討してみて下さい。
投稿者 初心者  (社会人) 投稿日時 2015/12/18 14:19:56
pictureboxで表示したオリジナルのボタンの上にlabelを表示させたいのですが、ボタンをクリックしようとしたらlabelがクリックされたように判定されました。
どうすればlabelを表示させながらpictureboxを押した判定になりますか?