Страница: 1 |
Страница: 1 |
Вопрос: Проблема с ошибкой
Добавлено: 28.01.09 22:06
Автор вопроса: DLF
На форме находится один PictureBox и ImageList. При наведении курсора мыши меняется картинка (две картинки находятся в ImageList-е с индексом 0 и 1). При нажатии кнопки мыши происходит выход.
Проблема с ошибкой, которая появляется при выходе:
InvalidArgument=Значение '1' недопустимо для 'index'. Имя параметра: index
Подскажите способ избавиться от ошибки.
Public Class Form1
Private Sub PictureBox1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseEnter
PictureBox1.Image = ImageList1.Images(0)
End Sub
Private Sub PictureBox1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseLeave
PictureBox1.Image = ImageList1.Images(1)
End Sub
Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
Application.Exit()
End Sub
End Class
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
Skywalker
ICQ: 300-70-6пятьЪ
Вопросов: 62
Ответов: 545
Web-сайт:
Профиль | | #1
Добавлено: 29.01.09 20:51
попробуй чо-нить типа
if ImageList1.Images.count <> 0 then PictureBox1.Image = ImageList1.Images(1)
Номер ответа: 2
Автор ответа:
DLF
Вопросов: 9
Ответов: 53
Профиль | | #2
Добавлено: 29.01.09 22:51
Не подходит. Может что-нибудь есть "универсальнее"?
Номер ответа: 3
Автор ответа:
el-paso
Вопросов: 3
Ответов: 164
Профиль | | #3
Добавлено: 30.01.09 00:11
Попробуй:
Номер ответа: 4
Автор ответа:
DLF
Вопросов: 9
Ответов: 53
Профиль | | #4
Добавлено: 30.01.09 10:14
Ошибку всегда выдает при событии Mouseleave и не зависит
какой индекс указывается. Такое впечатление, что при выходе
очищается ImageList, а потом происходит событие Mouseleave.
Номер ответа: 5
Автор ответа:
DLF
Вопросов: 9
Ответов: 53
Профиль | | #5
Добавлено: 31.01.09 21:20
Неужели нет способа избавиться от ошибки?
Знатоки, где же вы!!!
Номер ответа: 6
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #6
Добавлено: 31.01.09 22:37
где то ты накосячил.. я только что все проверил - все ОК
а почему ты используешь ImageList? какие то особые требования?
Номер ответа: 7
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #7
Добавлено: 31.01.09 22:56
и еще хотелосьбы взглянуть на описание твоей ошибки...
потому как этот код работает на ура.. проверил раз 300 )))
Номер ответа: 8
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #8
Добавлено: 01.02.09 11:29
Ошибка судя по всему в том что в коллекции ImageList.Images меньше двух элементов. Почему - вопрос на который ответить объективно исходя из предоставленых данных нельзя.
Номер ответа: 9
Автор ответа:
DLF
Вопросов: 9
Ответов: 53
Профиль | | #9
Добавлено: 18.02.09 23:50
Спасибо всем за внимание. Выход нашел. Перед закрытием программы делаю PictureBox.Dispose()