Страница: 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()