PDA

View Full Version : مبتدی: سؤال درباره چگونگی ساخت SlideShow در VB.Net



graphic
دوشنبه 29 شهریور 1389, 09:47 صبح
سلام دوستان...
چطور میتونم تو VB.Net با یه picturebox یه کلید، یه slideshow بسازم...طوری که با زدن کلید(play)...
مثلا 10 عکس با فاصله زمانی 10 ثانیه پشت هم نمایش داده بشه.
در ضمن اینکه تغییر عکس با هر بار کلیک کردن کلید رو بلدم(فکر کنم بلدم!)
با تشکر.

modirmasool
دوشنبه 29 شهریور 1389, 09:53 صبح
اگه بلدین که حله دیگه. همین الان شروع کنین به نوشتنش:تشویق:. فقط برای نشان دادن به صورت اسلاید باید از تایمر استفاده کنین.

Shahram_Shobeiri
دوشنبه 29 شهریور 1389, 09:54 صبح
یه کنترل تایمر به فرمت اضافه کن و interval اون رو 10000 قرار بده. روی تایمر دوبار کلیک کن و همون کدی رو که فکر میکنی بلدی(کدی که تو رویداد دکمه می نوشتی) رو تو هندلر تایمر قرار بده. و تو رویداد کلیک اون دکمه تایمر رو enable کن.

graphic
دوشنبه 29 شهریور 1389, 10:07 صبح
modirmasool و Shahram_Shobeiri عزیز تشکر...تشکر...
اینم کدی که فکر میکردم بلدم!

Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
PictureBox2.Image = System.Drawing.Image.FromFile("C:\Users\HOSSEIN\Desktop\VB.Net\picture\slideshow\ 0" & counter & ".jpg")
counter += 1
If counter = 8 Then counter = 1
End Sub

خوبه نه!

modirmasool
دوشنبه 29 شهریور 1389, 10:10 صبح
modirmasool و Shahram_Shobeiri عزیز تشکر...تشکر...
اینم کدی که فکر میکردم بلدم!

خوبه نه!

اگه مشکلی نداره عالیه.:تشویق:

graphic
دوشنبه 29 شهریور 1389, 10:22 صبح
اگه مشکلی نداره عالیه.:تشویق:
ممنون...:لبخندساده:

Shahram_Shobeiri
دوشنبه 29 شهریور 1389, 10:54 صبح
حالا من یه پیشنهاد بهت می کنم. روندی رو در برنامه ات در نظر بگیر تا کاربر بتونه خودش عکس های slide show رو انتخاب کنه. همچنین زمان نمایش هر عکس رو هم از کاربر بگیر.

graphic
دوشنبه 29 شهریور 1389, 11:34 صبح
حالا من یه پیشنهاد بهت می کنم. روندی رو در برنامه ات در نظر بگیر تا کاربر بتونه خودش عکس های slide show رو انتخاب کنه. همچنین زمان نمایش هر عکس رو هم از کاربر بگیر.
دل به دل راه داره...!:چشمک:
تو منوی برنامه مخواستم چنین امکانی رو برای کاربر فراهم کنم.
اگه به مشکل خوردم...رو کمکتون حساب کنم دیگه!
ممنون.:لبخندساده:

Saman_12
دوشنبه 29 شهریور 1389, 11:48 صبح
سلام.
حالا اگه اسم تصویر به صورت عددی نباشه می خوای چی کار کنی؟(کدی پایین کاری به اسم نداره شما فرمت رو مشخص کن همه چیز تمومه.)
من با تایمر مخالف نیستم اما استفاده از یه Thread به صرفه تره و میزان پردازش سیستم رو هم پایین تر میاره این یک مثال (اول این Sub رو تعریف کن) :


Private Sub NewTh()

Dim Dr As New System.IO.DirectoryInfo("Folder Path")
Dim AllFile() As System.IO.FileSystemInfo = Dr.GetFileSystemInfos

For Each File As System.IO.FileSystemInfo In AllFile

If FileIO.FileSystem.FileExists(File.FullName) = True And UCase$(Mid(File.FullName, File.FullName.Length - 2)) = UCase$("Png") Then

PictureBox1.Load(File.FullName)
System.Threading.Thread.Sleep(500)

End If
Next
End Sub

خوب اینجوی هم استفاده کن :


Dim Th As New System.Threading.Thread(AddressOf NewTh)
Th.Start()

اگه جستوجو میکردی به یک کد مشابه که خود من هم توی یک تایپیک گذاشتم دست پیدا میکردی!