Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Код для кнопки "вперед"(следущая") Добавлено: 29.07.09 20:31  

Автор вопроса:  Not андерстен
Ребя помогите, сделал по книге программку для просмотра изображений, 'наверно не раз слышали', так вот..поместил на форму кнопку и не могу понять какой код нужен для этой кнопки чтобы при нажатии на нее открывалась следущая фотка в том каталоге в котором я ее открыл. (ну вообщем как в виндовской "программе просмотра изображений и факсов"). За ранее сПс)

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 Дмитрий Юпатов



Вопросов: 4
Ответов: 457
 Web-сайт: cargomaster.at.ua/
 Профиль | | #1
Добавлено: 29.07.09 21:08
Подозреваю, что надо вначале создать массив с именами файлов из выбранной директории. Ну а переход по элементам массива это и будет вперед/назад. Можно массив-переменную, а можно чето типа листбокса на форму воткнуть, дело вкуса... ну есть и другие способы

Ответить

Номер ответа: 2
Автор ответа:
 Not андерстен



Вопросов: 22
Ответов: 33
 Профиль | | #2 Добавлено: 29.07.09 21:16
не оч понимаю (новичок). Тоесть надо создать массив с именами всех файлов в данном каталоге?? че то не то я наверно думаю. Если можно, напиши пример кода

Ответить

Номер ответа: 3
Автор ответа:
 Дмитрий Юпатов



Вопросов: 4
Ответов: 457
 Web-сайт: cargomaster.at.ua/
 Профиль | | #3
Добавлено: 29.07.09 22:01
Итак, имеем форму. На нее кладем ПикчерБох и 3 кнопки. Оставим пока их имена по умолчанию (PictureBox1, Button1...3)
Открываем код формы и суем туда вот это:
  1. Dim Path As String = vbNullString
  2.     Dim Files As Array
  3.     Dim index As Integer = 0
  4.     Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  5.         Dim dlgOpen As New System.Windows.Forms.FolderBrowserDialog
  6.         If dlgOpen.ShowDialog = Windows.Forms.DialogResult.OK Then
  7.             Me.Path = dlgOpen.SelectedPath
  8.             Me.Text = Me.Path
  9.             Files = System.IO.Directory.GetFiles(Me.Path, "*.jpg")
  10.             If Files.Length > 0 Then
  11.                 Me.Button1.Enabled = True
  12.                 Me.Button2.Enabled = True
  13.                 Me.PictureBox1.Image = Image.FromFile(Files(index).ToString)
  14.             Else
  15.                 MsgBox("Нет нифига...", MsgBoxStyle.Information)
  16.             End If
  17.         End If
  18.     End Sub
  19.  
  20.     Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  21.         If Me.index < (Files.Length - 1) Then
  22.             Me.index = Me.index + 1
  23.             Me.PictureBox1.Image = Image.FromFile(Files(index).ToString)
  24.         Else
  25.             MsgBox("Это был последний...", MsgBoxStyle.Information)
  26.         End If
  27.     End Sub
  28.  
  29.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  30.         If Me.index > 0 Then
  31.             Me.index = Me.index - 1
  32.             Me.PictureBox1.Image = Image.FromFile(Files(index).ToString)
  33.         Else
  34.             MsgBox("Это и есть первый!", MsgBoxStyle.Information)
  35.         End If
  36.     End Sub
  37.  
  38.     Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  39.         Me.Button1.Enabled = False
  40.         Me.Button2.Enabled = False
  41.         Me.Button1.Text = "<"
  42.         Me.Button2.Text = ">"
  43.         Me.PictureBox1.SizeMode = PictureBoxSizeMode.Zoom
  44.     End Sub

сунул в цитату, чтоб смайлы не вылезли :)

Ответить

Номер ответа: 4
Автор ответа:
 Дмитрий Юпатов



Вопросов: 4
Ответов: 457
 Web-сайт: cargomaster.at.ua/
 Профиль | | #4
Добавлено: 29.07.09 22:03
заметь, в массив попадут только *.jpg - файлы. Поменяй в строке 09 кода (см выше) на нужное тебе расширение.

Ответить

Номер ответа: 5
Автор ответа:
 Not андерстен



Вопросов: 22
Ответов: 33
 Профиль | | #5 Добавлено: 29.07.09 22:27
у меня на бутон 1 вот:

If ofdSelectPicture.ShowDialog = DialogResult.OK Then
            picShowPicture.Image = Image.FromFile(ofdSelectPicture.FileName)

            Me.Text = ofdSelectPicture.FileName & " - моя программа "
            If MsgBox("Вы выбрали файл:" & Chr(13) & Chr(13) & ofdSelectPicture.FileName & Chr(13) & Chr(13) & "Он был Вам нужен?", MsgBoxStyle.YesNo + MsgBoxStyle.Information, "Твой выбор";) = MsgBoxResult.Yes Then
                Exit Sub

            End If
        End If

на бутон 2:

If MsgBox("Точно выйти?", MsgBoxStyle.YesNo + MsgBoxStyle.Question + MsgBoxStyle.DefaultButton2, "Это ж супер програММа";) = MsgBoxResult.No Then
            Exit Sub
        End If

        Me.Close()

Ответить

Номер ответа: 6
Автор ответа:
 Not андерстен



Вопросов: 22
Ответов: 33
 Профиль | | #6 Добавлено: 29.07.09 22:40
а на 3 и 4 кнопки чтобы фотки не открывать по одной, а просто вперед щелкать или назад

Ответить

Номер ответа: 7
Автор ответа:
 Дмитрий Юпатов



Вопросов: 4
Ответов: 457
 Web-сайт: cargomaster.at.ua/
 Профиль | | #7
Добавлено: 29.07.09 22:46
ну так подожди... Ты сделал просто выбор файла и его открытие. Т.е. каждый раз при переходе надо кучу батонов пожамкать, типа "согласен/несогласен"
у меня был другой подход: 1 раз выбрази батоном3 директорию, в которой лежат файлы и все, батонами 1 и 2 гуляем взад-вперед. как звучало в вопросе:
ну вообщем как в виндовской "программе просмотра изображений и факсов
. Впрочем одно не мешает другому. И еще: оформляй код!!!!!!!!!!!

Ответить

Номер ответа: 8
Автор ответа:
 Not андерстен



Вопросов: 22
Ответов: 33
 Профиль | | #8 Добавлено: 29.07.09 22:49
Спасиб бошой. буду разбираться. А что значит оформляй" код? что не так

Ответить

Номер ответа: 9
Автор ответа:
 Дмитрий Юпатов



Вопросов: 4
Ответов: 457
 Web-сайт: cargomaster.at.ua/
 Профиль | | #9
Добавлено: 29.07.09 23:12
в сообщении: та часть текста, которая должна являть собой код, выделяется и пониже окна ввода жамкается кнопка КОД. Аналогично работают и другие кнопы... Не за что :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам