ここから本文です

ピクチャーボックス内のアイコンフラグをクリックして 新しいフォームを立ち上げ...

fjk********さん

2011/12/2015:46:40

ピクチャーボックス内のアイコンフラグをクリックして
新しいフォームを立ち上げるプログラムを教えてください。
お願いします。

こんな感じで作成しています。
Public Class Form2

Private Sub Form2_Load(sender As Sy

stem.Object, e As System.EventArgs) Handles MyBase.Load
'TODO: このコード行はデータを 'デートスポットDataSet.画像情報_2' テーブルに読み込みます。必要に応じて移動、または削除をしてください。

'TODO: このコード行はデータを 'デートスポットDataSet.座標' テーブルに読み込みます。必要に応じて移動、または削除をしてください。

'TODO: このコード行はデータを 'デートスポットDataSet.画像情報_2' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
Me.T_3段目TableAdapter.FillBy地図番号で限定(Me.デートスポットDataSet.T_3段目, Me.labMapID.Text)
Dim b() As Byte

b = Me.画像情報_2TableAdapter.ScalarQuery座標からマップ(Me.labMapID.Text)
Me.PictureBox1.Image = B2I(b)

End Sub

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim g As Graphics = Me.PictureBox1.CreateGraphics

'フラグを立てる
For i As Integer = 0 To Me.T_3段目DataGridView.RowCount - 2
Dim nX As Integer = Val(Me.T_3段目DataGridView.Rows(i).Cells(4).Value)
Dim nY As Integer = Val(Me.T_3段目DataGridView.Rows(i).Cells(5).Value)
Dim nMap As String = (Me.T_3段目DataGridView.Rows(i).Cells(3).Value)

g.DrawIcon(My.Resources.IconFlag, nX, nY)
g.DrawString(nMap.ToString, New Font("", 12), Brushes.Blue, nX, nY)

Next
End Sub

Private Sub IconFlag_Click(sender As System.Object, e As System.EventArgs)
'次のフォームを開く
Dim f3 As New Form3

Dim nRow As Integer = Me.T_3段目DataGridView.CurrentRow.Index
Dim nImgID As Integer
Dim b() As Byte

nImgID = Me.T_3段目DataGridView.Item(0, nRow).Value
b = Me.T_3段目TableAdapter.FillBy地図番号で限定(nImgID)
Me.PictureBox1.Image = f2(b)

End Sub
End Class

閲覧数:
172
回答数:
1

違反報告

ベストアンサーに選ばれた回答

コモゾさん

2011/12/2017:18:14

fjkdfnklfさん

同じ状況を作るのが難しいので勘です
確認はしてません。

Private Sub PictureBox1_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseClick

Dim f3 As New Form3

For i As Integer = 0 To Me.T_3段目DataGridView.RowCount - 2

Dim rect As New Rectangle( _
Val(Me.T_3段目DataGridView.Rows(i).Cells(4).Value), _
Val(Me.T_3段目DataGridView.Rows(i).Cells(5).Value), _
My.Resources.IconFlag.Width, _
My.Resources.IconFlag.Height)

If (rect.Contains(e.Location)) Then
f3.ShowDialog()
End If

Next
End Sub

質問した人からのコメント

2011/12/21 14:06:41

抱きしめる 回答ありがとうございました。
しっかり動き、助かりました。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる