Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
12 / 12 / 2
Регистрация: 27.11.2011
Сообщений: 667
1

Просмотр картинок из папки в PictureBox кнопками "Вперед" и "Назад"

30.11.2012, 13:19. Показов 1507. Ответов 3
Метки нет (Все метки)

Здравствуйте! Такая задачка:
На форме есть пикчерсбокс и три кнопки. Нажав на одну кнопку появляется выбор папки на диске, где есть картинку. В PB отображается рисунок из папки. Две другие кнопки листают картинки в папке и отображаю их в PB. Кнопки "Следующий" и "Предыдущий". Как это сделать???
1) как сделать выбор папки с рисунками???
2) как сделать листание рисунков в PB???
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.11.2012, 13:19
Ответы с готовыми решениями:

Просмотр строк файла при нажатии кнопок "Вперед" и "Назад"
Есть программа. В ней якобы БД, которая на самом деле записана в файл.В этом файле логин+пароль в...

Как вызвать MessageBox с кнопками "Да" - "Нет" и обработать их нажатие
Срочно нужна помощ. Задача 1 создать програму перевда температур йз фарэенгейт в cелсий 2 прй...

Обработка "null" в MS Access "Приведение типа "|DBNull" к типу "String" является недопустимым"
Здравствуйте. Работаю с базой MS Access Вывожу в DataGridView таблицу Проблема следующая, если у...

Как вызвать MessageBox с кнопками "Да" - "Нет"
Господа - товарищи, как вызвать MessageBox с кнопками "Да" - "Нет"? Должно быть "Да" - "Нет" , а...

3
169 / 149 / 14
Регистрация: 13.07.2011
Сообщений: 477
02.12.2012, 00:40 2
Лучший ответ Сообщение было отмечено как решение

Решение

хорошо бы с книги какой нибудь начать
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    Dim ind As Integer
    Dim mas() As String
 
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        If FolderBrowserDialog1.ShowDialog = Windows.Forms.DialogResult.Cancel Then Exit Sub
        mas = IO.Directory.GetFiles(FolderBrowserDialog1.SelectedPath)
        PictureBox1.Image = Image.FromFile(mas(ind) + 1)
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click, Button1.Click
        If sender Is Button2 Then
            If ind < mas.Length - 2 Then
                ind = ind + 1
            Else
                ind = 0
            End If
        ElseIf sender Is Button1 Then
            If ind > 0 Then
                ind = ind - 1
            Else
                ind = UBound(mas) - 1
            End If
        End If
 
        PictureBox1.Image = Image.FromFile(mas(ind))
    End Sub


позамудренее, но для тебя 1 вариант годится
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
'Imports myNMimageExplorer
Public Class Form1
 
    Dim exportcls As myNMimageExplorer.AdvancedFunction
 
    Public Sub New()
        InitializeComponent()
        exportcls = New myNMimageExplorer.AdvancedFunction
        Me.PictureBox1.AllowDrop = True
        Me.StartPosition = FormStartPosition.CenterParent
 
        Dim comArg As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Application.CommandLineArgs
        Try
            If comArg.Count > 0 Then
                If exportcls.CheckExtension(comArg(0)) Then
                    PictureBox1.Image = Image.FromFile(comArg(0))
                    Me.Text = exportcls.ProductName(IO.Path.GetFileName(comArg(0)))
                    If comArg.Count > 1 And comArg.Contains("/m") Then Me.WindowState = FormWindowState.Maximized
                End If
            Else
                Return
            End If
            exportcls.GetPvar = exportcls.AllIMAGE(comArg(0).Substring(0, comArg(0).LastIndexOf("\"))).ToArray
            exportcls.GetI_ = Array.IndexOf(exportcls.GetPvar, comArg(0))
        Catch ew As Exception
            MsgBox(ew.Message)
        End Try
    End Sub
 
    Private Sub Form1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Me.DragDrop, PictureBox1.DragDrop
        Dim fil As String() = e.Data.GetData(DataFormats.FileDrop, True)
        PictureBox1.Image = Image.FromFile(fil(0))
        Me.Text = exportcls.ProductName(IO.Path.GetFileName(fil(0)))
        If exportcls.GetPvar IsNot Nothing Then Array.Clear(exportcls.GetPvar, 0, exportcls.GetPvar.Length)
        exportcls.GetPvar = exportcls.AllIMAGE(fil(0).Substring(0, fil(0).LastIndexOf("\"))).ToArray
        exportcls.GetI_ = Array.IndexOf(exportcls.GetPvar, fil(0))
    End Sub
 
    Private Sub Form1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Me.DragEnter, PictureBox1.DragEnter
        If e.Data.GetDataPresent(DataFormats.FileDrop) OrElse e.Data.GetDataPresent(DataFormats.Bitmap) Then
 
            Dim fil As String() = e.Data.GetData(DataFormats.FileDrop, True)
 
            If Not exportcls.CheckExtension(fil(0)) Then
                e.Effect = DragDropEffects.None
                Return
            End If
 
            e.Effect = DragDropEffects.Copy
        Else
            e.Effect = DragDropEffects.None
        End If
    End Sub
 
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click
        If exportcls.GetPvar Is Nothing OrElse exportcls.GetPvar.Length < 1 Then Return
        Try
            If sender Is Button1 Then
                If exportcls.GetI_ > 0 Then exportcls.GetI_ -= 1 Else exportcls.GetI_ = exportcls.GetPvar.Length - 1
            Else
                If exportcls.GetI_ < exportcls.GetPvar.Length - 1 Then exportcls.GetI_ += 1 Else exportcls.GetI_ = 0
            End If
 
            Me.Text = exportcls.ProductName(IO.Path.GetFileName(exportcls.GetPvar(exportcls.GetI_)))
            PictureBox1.Image = Image.FromFile(exportcls.GetPvar(exportcls.GetI_))
 
        Catch ej As System.OutOfMemoryException
            MsgBox(ej.Message)
        End Try
    End Sub
 
End Class
 
Namespace myNMimageExplorer
    Public Class AdvancedFunction
 
        Public Function CheckExtension(ByVal pth As String) As Boolean
            Dim fi As New IO.FileInfo(pth)
            If fi.Extension.Equals(".jpeg", StringComparison.InvariantCultureIgnoreCase) OrElse fi.Extension.Equals(".jpg", StringComparison.InvariantCultureIgnoreCase) _
            OrElse fi.Extension.Equals(".bmp", StringComparison.InvariantCultureIgnoreCase) OrElse fi.Extension.Equals(".png", StringComparison.InvariantCultureIgnoreCase) _
            OrElse fi.Extension.Equals(".ico", StringComparison.OrdinalIgnoreCase) OrElse fi.Extension.Equals(".gif", StringComparison.OrdinalIgnoreCase) _
            OrElse fi.Extension.Equals(".tiff", StringComparison.InvariantCultureIgnoreCase) OrElse fi.Extension.Equals(".jpe", StringComparison.InvariantCultureIgnoreCase) Then
                Return True
            End If
            Return False
        End Function
 
        Public Function ProductName(ByVal pth As String) As String
            Return String.Concat(pth, "  - My.ImageExplorer")
        End Function
 
 
        Private pvar As String()
        Private i_ As UInt32
 
        Public Property GetI_() As Integer
            Get
                Return i_
            End Get
            Set(ByVal value As Integer)
                i_ = value
            End Set
        End Property
 
        Public Property GetPvar() As String()
            Get
                Return pvar
            End Get
            Set(ByVal value As String())
                pvar = value
            End Set
        End Property
 
        Public Function AllIMAGE(ByVal pth As String) As List(Of String)
            Dim allim As New List(Of String)
            Dim ar_ As String() = {"*.jpeg", "*.jpg", "*.bmp", "*.png", "*.ico", "*.gif", "*.tiff", "*.tif", "*.jpe"}
            For Each alim As String In ar_
                allim.AddRange(IO.Directory.GetFiles(pth, alim))
            Next
            Return allim
        End Function
 
    End Class
End Namespace
3
12 / 12 / 2
Регистрация: 27.11.2011
Сообщений: 667
02.12.2012, 14:07  [ТС] 3
Спасибки!!! Попробую все варианты!!! Книжка - это хорошо. Только где скачать хорошую книжку по VB 2008???
0
169 / 149 / 14
Регистрация: 13.07.2011
Сообщений: 477
02.12.2012, 17:27 4
лукин "понятно о вб.нет", в свободном доступе можно скачать
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2012, 17:27

Использование MsgBox с кнопками "Да" и "Нет"
Доброго всем времени суток! Пишу игрушку и не могу понять, как задать функции для кнопок которые...

Поиск в DGW вылетает с ошибкой "Приведение типа "|DBNull" к типу "String" является недопустимым."
В общем такой вопрос. Код рабочий. Только у меня не работает. For i = 0 To...

Ошибка "Приведение строки "explorer.exe" к типу "Double" является недопустимым" при записи в реестр
Помогите, хочу получить доступ к winlogon, что бы изменять любое другое значение shell на...

Ошибка при запуске .exe файла из debug: "Приведение строки "Июнь" к типу "Double" является недопустимым"
Если запускать из самого проекта(F5), то все нормально, а если скомпилированный запустить, то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.