PDA

View Full Version : ایجاد کنترل پی در پی



hosein320
دوشنبه 25 دی 1391, 20:48 عصر
سلام
میخواستم چند تا کنترل تعریف کنم با یه کد
مثلا اسم متغیرها به این صورت بشه
pic1,pic2,pic3,...
ساختن یکی شو بلدم
ولی گروهی رو نه
ممنون

فرید نجفلو
دوشنبه 25 دی 1391, 21:43 عصر
سلام

Public Class Form1

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Me.WindowState = FormWindowState.Maximized

For i = 1 To 10
Dim Pic As New PictureBox

With Pic
.Name = "Pic" & i
.SizeMode = PictureBoxSizeMode.StretchImage
.Size = New Size(20, 20)
.Location = New Point(i * 20, i * 20)
.Image = Me.Icon.ToBitmap
End With
Me.Controls.Add(Pic)

Next
End Sub
End Class

hosein320
دوشنبه 25 دی 1391, 22:36 عصر
اگه بخوای بعدا از این کنترل ها استفاده کرد باید چکار کرد؟

فرید نجفلو
دوشنبه 25 دی 1391, 23:53 عصر
Public Class Form1
Private WithEvents tmr As New Timer

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Me.WindowState = FormWindowState.Maximized

For i = 1 To 10
Dim Pic As New PictureBox

With Pic
.Name = "Pic" & i
.SizeMode = PictureBoxSizeMode.StretchImage
.Size = New Size(20, 20)
.Location = New Point(i * 20, i * 20)
.Image = Me.Icon.ToBitmap
End With
Me.Controls.Add(Pic)

Next

tmr.Start()
End Sub


Private Sub tmr_Tick(sender As Object, e As System.EventArgs) Handles tmr.Tick
Dim rnd As New Random

Dim Pic = CType(Me.Controls("Pic" & rnd.Next(1, 10)), PictureBox)

Pic.Left = rnd.Next(0, Me.Width)
Pic.Top = rnd.Next(0, Me.Height)

End Sub
End Class

hosein320
سه شنبه 26 دی 1391, 01:39 صبح
من از کد شما استفاده کردم
ولی اون اشیلع رو نمیتونم تو یکی از توابعم استفاده کنم
و پیغام خطا میده:(
ولی تو بقیه کنترل ها خطا نمیگیره
چرا:متعجب:

فرید نجفلو
سه شنبه 26 دی 1391, 01:51 صبح
باید کد رو می دادید تا اشکالش بر طرف بشه
حتی خطا رو هم نگفتید چیه!

hosein320
سه شنبه 26 دی 1391, 02:04 صبح
این کل برنامه منه
البته هنوز امروز شروع کردم بنویسمش:لبخند:
فقط وقتی اجرا کردینیه دکمه تو فرم هست
که باید اونو حداقل سه بار فشار بدین
و بعد یه کلید بزنید
http://s2.picofile.com/file/7620777418/Code.rar.html

فرید نجفلو
سه شنبه 26 دی 1391, 02:45 صبح
Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If i < 10 Then
i += 1 '*****
Dim picenemy As New PictureBox
xp = xp + picenemy.Width + 30
yp = PMain.Height - 10
With picenemy
.Name = "picenamy" & i
Me.Text = picenemy.Name
.Top = yp
.Left = xp
.Image = p2.Image
End With
PMain.Controls.Add(picenemy)
If colission(PicTir, picenemy) = True Then
picenemy.Visible = False
End If
Me.Text = i & "'" & picenemy.Name
End If
End Sub

Private Sub TimerEnemy_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TimerEnemyBoom.Tick
If i > -1 Then
Dim picenemy = CType(PMain.Controls("picenamy" & i), PictureBox) '*****
If colission(picenemy, PicTir) = True Then
MsgBox(True)
picenemy.Visible = False
picenemy.Top = 10000
PMain.Controls.Remove(picenemy) '*****
i -= 1
End If
End If
End Sub