Страница: 1 |
Страница: 1 |
Вопрос: Помогите с Оператором
Добавлено: 17.09.09 22:33
Автор вопроса: Not андерстен
Ребят, помогите. Хочу избавиться от оператора Select Case , вот процедура:
Dim Кадр1 As New Bitmap("Безымянный0.bmp")
Dim Кадр2 As New Bitmap("Безымянный1.bmp")
Dim Кадр3 As New Bitmap("Безымяннй2.bmp")
Dim N As Integer = 0
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Кадр1.MakeTransparent(Color.White)
Кадр2.MakeTransparent(Color.White)
Кадр3.MakeTransparent(Color.White)
PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize
Select Case N
Case 0
PictureBox1.Image = Кадр1
Case 1
PictureBox1.Image = Кадр2
Case 2
PictureBox1.Image = Кадр3
Case 3
PictureBox1.Image = Кадр2
End Select
N = N + 1 'Увеличиваем N на 1
If N = 4 Then N = 0 'После 3 должен идти 0, а не 4
PictureBox1.Left = PictureBox1.Left - 10
End Sub
Нужно заменить операторы Select Case например на оператор If Then Else...ну думаю понятно.
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #1
Добавлено: 17.09.09 22:51
наверное можно сделать массив Кадров(), и в качестве параметра подставлять N
Номер ответа: 2
Автор ответа:
Not андерстен
Вопросов: 22
Ответов: 33
Профиль | | #2
Добавлено: 17.09.09 23:07
приведи пример плиз, тока с моим кодом, выручи
Номер ответа: 3
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #3
Добавлено: 17.09.09 23:16
[offtopic]сергей за кросспостинг получает первое предупреждение[/offtopic]
Номер ответа: 4
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #4
Добавлено: 18.09.09 00:52
что-то типа этого
Dim Кадры(1 to 3) As Bitmap
Где-то при загрузке:
dim i as integer
for i = 1 to 3
Set Кадры(i) = New Bitmap("Безымянный" & i & ".bmp"
next i
А потом можно обращаться так - Кадры(N)
Номер ответа: 5
Автор ответа:
UnDeAdZak
Вопросов: 80
Ответов: 476
Профиль | | #5
Добавлено: 18.09.09 02:06
Dim Кадр1 As New Bitmap("Безымянный0.bmp"
 im Кадр2 As New Bitmap("Безымянный1.bmp"
 im Кадр3 As New Bitmap("Безымяннй2.bmp"
 im N As Integer = 0
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Кадр1.MakeTransparent(Color.White)
Кадр2.MakeTransparent(Color.White)
Кадр3.MakeTransparent(Color.White)
PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize
if n = 0 then
PictureBox1.Image = Кадр1
elseif n = 1 then
PictureBox1.Image = Кадр2
elseif n = 2 then
PictureBox1.Image = Кадр3
elseif n = 3
PictureBox1.Image = Кадр4
End if
N = N + 1 'Увеличиваем N на 1
If N = 4 Then N = 0 'После 3 должен идти 0, а не 4
PictureBox1.Left = PictureBox1.Left - 10
End Sub
Номер ответа: 6
Автор ответа:
UnDeAdZak
Вопросов: 80
Ответов: 476
Профиль | | #6
Добавлено: 18.09.09 02:07
Вот пример с if на твоём коде
Номер ответа: 7
Автор ответа:
GDK
Вопросов: 13
Ответов: 348
Профиль | | #7
Добавлено: 18.09.09 12:23
По моему кто то делает домашнее задание, списал у кого-то код и хочет его чуть изменить чтоб никто не догадался что не сам сделал.
Номер ответа: 8
Автор ответа:
Not андерстен
Вопросов: 22
Ответов: 33
Профиль | | #8
Добавлено: 18.09.09 13:03
кто то тупо думает. спс за ответы
Номер ответа: 9
Автор ответа:
Not андерстен
Вопросов: 22
Ответов: 33
Профиль | | #9
Добавлено: 18.09.09 13:28
Winand & UnDeAdZak
Спасибки