PDA

View Full Version : سوال: قراردادن تصویر در open file dialog به صورت پشت سر هم



sayyadhunter1366
دوشنبه 12 مرداد 1388, 20:18 عصر
سلام دوستان در vb.net به مشکل برجوردم اگه به من کمک کنید ممنون می شم
من دربرنامه ام یک open file dialog , picture box , button,textbox ایجاد کردم حالا من برطبق دستوراتی که نوشته ام open file dialog منوی openرا باز می کند سپس با فیلتری که اعمال کرده ایم فقط فایل هایی با پسوند jpg در picture box نمایش داده می شوند
من می خوام دوتا button دیگه تعریف کنم که کار جلو وعقب رو برای نمایش عکس ها انجام دهد ومانند برنامه های نمایش تصاویر یک پرونده از تصاویر راباز کنم وبااستفاده از دو button که می خواهم ایجاد کنم کار جلو وعقب کردن تصاویر را انجام دهم یعنی بازدن دکمه جلو تصویر بعدی نمایش داده شود وبازدن دکمه عقب تصویر قبلی نمایش داده شود
مانند برنامه windows picture and fax viewer در windows

البته دستورات زیر را نوشته ام :

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
OpenFileDialog1.Title = "Open File"

OpenFileDialog1.InitialDirectory = "C:temp"

OpenFileDialog1.Filter = " (*.jpg)|*.jpg| (*.bmp)|*.bmp|(*.jpeg)|*.jpeg|(*.*)|*.*"

OpenFileDialog1.FilterIndex = 1
OpenFileDialog1.ShowDialog()
End Sub

Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
Dim strm As System.IO.Stream
strm = OpenFileDialog1.OpenFile()
TextBox1.Text = OpenFileDialog1.FileName.ToString()
PictureBox1.ImageLocation = TextBox1.Text
OpenFileDialog1.AddExtension = True

OpenFileDialog1.CheckFileExists = True

OpenFileDialog1.CheckPathExists = True

If PictureBox1.Enabled = True Then

Button4.BackColor = Color.Green
Button4.Enabled = True

End If

If PictureBox1.Enabled = True Then

Button5.BackColor = Color.Green
Button5.Enabled = True

End If

End Sub
بعدش می خواستم بدونم چه جوری میشه در vb.net بانک اطلاعاتی درست کرد .
خیلی ممنون

mortezamhd
سه شنبه 13 مرداد 1388, 03:44 صبح
سلام دوست عزیز
شما از folderBrowserDialog استفاده کنید
درمورد بانک اطلاعاتی هم کجاشو موندید؟ بگید تا راهنمایی بشیین
موفق باشید

BehzadBar
سه شنبه 13 مرداد 1388, 12:24 عصر
دوست عزیز برای navigate کردن در فایل های باز شده توسط OpenFileDialoge شما نیاز به پیاده سازی یک collection دارید به طوریکه بعد از ok در OpenFile ، Collection مناسب ایجاد شده و آدرس فایلها را درون آن بریزید بعد توسط دو Button به راحتی میتوانید در Collection جلو یا عقب بروید

sayyadhunter1366
سه شنبه 13 مرداد 1388, 12:33 عصر
خیلی کلی گفتین میشه یه کم بیشتر توضیح بدهید

sayyadhunter1366
سه شنبه 13 مرداد 1388, 12:36 عصر
خیلی کلی گفتید میشه بگید چه جوری ازاین دستور استفاده کنم

sayyadhunter1366
سه شنبه 13 مرداد 1388, 13:23 عصر
من الان دستورات زیر رانوشته ام ولی بازم گیر کردم الان محتویان داخل پرونده انتخابی رادرون picture box نمایش نمی دهد الان چه کاری انجام دهم بعدش ازچه دستوراتی برای نمایش تصاویر به صورت پشت سر هم استفاده کنم .

Private Sub FolderBrowserDialog1_HelpRequest(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FolderBrowserDialog1.HelpRequest
Dim FolderBrowserDialog1 As New FolderBrowserDialog
With FolderBrowserDialog1
.RootFolder = Environment.SpecialFolder.Desktop
.SelectedPath = "c:\windows"

.Description = "Select the source directory"

If .ShowDialog = DialogResult.OK Then

MessageBox.Show(.SelectedPath)
End If

End With

BehzadBar
سه شنبه 13 مرداد 1388, 17:28 عصر
دوست عزیز من یه تیکه کد برات نوشتم که میتونی باهاش توی عکس ها عقب و جلو بری البته این کد ساده ترین راهه و نیاز به یه کم ادیت داره


Public Class Form1



تعریف آرایه برای نگهداری مسیر عکس ها'

Dim Path() As String

تعریف متغیر برای شمارش عکس ها'

Dim PathCount As Integer = 0
تعریف متغیر برای شمردن تعداد عکس ها'

Dim PathTotal As Integer = 0

Private Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click
Me.OpenFileDialog1.Filter = " (*.jpg)|*.jpg| (*.bmp)|*.bmp|(*.jpeg)|*.jpeg|(*.*)|*.*"

Me.OpenFileDialog1.ShowDialog()
ریختن مسیر عکس ها درون آرایه'

Path = Me.OpenFileDialog1.FileNames
دادن مسیر عکس اول به طور پیش فرض'

Me.PictureBox1.ImageLocation = Path(0)
شمردن تعداد کل عکس ها'

PathTotal = Path.Length - 1
End Sub


Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click
If Not PathTotal = PathCount Then

PathCount += 1
Me.PictureBox1.ImageLocation = Path(PathCount)
Else

Me.btnNext.Enabled = False

End If


End Sub


Private Sub btnPre_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPre.Click
PathCount -= 1
Me.PictureBox1.ImageLocation = Path(PathCount)
End Sub

End Class

alimanam
سه شنبه 13 مرداد 1388, 23:30 عصر
با سلام

من مقداری کد به کدهای بالا اضافه کردم و نتیجه اش این شد فکر می کنم نیاز کاری شما رو کاملاً مرتفع کنه . یا علی