С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 1
Регистрация: 16.04.2012
Сообщений: 19

Плавное исчезновение картинки

25.06.2012, 17:16. Показов 2214. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу помощи.
Вот что у меня есть: две картинки PBNext1 и PBNext2. Вторая картинка скрыта.
Вот что мне надо: При наведении курсора на первую картинку она плавно затухает, и параллельно появляется вторая.
Такое есть в AIMP, установщике VS2012 и прочих больших программах.
У меня есть несколько путей:
Через таймер. Каждые 10 мс уменьшать неизвестно что на первой картинке и увеличивать на второй
Через do while. Принцип тот же

Но вот встала проблема. У Picture Box нету свойства Opacity и, естественно, изменять (+1, -1) нечего.

Что предложите делать?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.06.2012, 17:16
Ответы с готовыми решениями:

Плавное появление и исчезновение текста
Нужно реализовать плавное появление и исчезновение текста. Если ли какие-нибудь встроенные инструменты для этого? Дополнительная...

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

Плавное исчезновение контента
Имеется в виду не исчезновение по времени, с этим всё понятно. Мне нужно, чтобы при прокрутке страницы контент не уходил за рамки окна, а...

9
 Аватар для kOS_77
196 / 188 / 9
Регистрация: 14.06.2011
Сообщений: 495
25.06.2012, 18:59
А если картинки расположить не в пикчербоксах а на отдельных формах, можно даже дочерних то появится свойство Opacity. Хотя я думаю должен быть другой способ это сделать.
0
0 / 0 / 1
Регистрация: 16.04.2012
Сообщений: 19
25.06.2012, 19:00  [ТС]
kOS_77, картинки выполняют функцию кнопок. Думаю не пойдет
0
1 / 1 / 0
Регистрация: 24.06.2012
Сообщений: 36
25.06.2012, 19:11
наверно можно менять RGB оттенки
хотя и в правду странно как в этих программах это реализованно
0
0 / 0 / 1
Регистрация: 16.04.2012
Сообщений: 19
25.06.2012, 19:12  [ТС]
Вот и я теряюсь
0
 Аватар для Pooh
409 / 361 / 82
Регистрация: 07.10.2009
Сообщений: 558
26.06.2012, 10:54
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Sanshalay Посмотреть сообщение
Вот что мне надо: При наведении курсора на первую картинку она плавно затухает, и параллельно появляется вторая.
Тут посмотрите, правда смена изображений не по наведению курсора, а по нажатию кнопки, но я думаю, это не принципиально.
5
0 / 0 / 1
Регистрация: 16.04.2012
Сообщений: 19
26.06.2012, 18:49  [ТС]
Pooh, спасибо. Смена с первой картинки на вторую при наведении на нее курсора работает. А вот обратный процесс не могу запустить. Вот код:
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
Public Class Form1
#Region "Графика. Переменные"
    Dim proz As Single = 1.0!
    Dim OverImage, UnderImage As Image
    Dim ia As Imaging.ImageAttributes = New Imaging.ImageAttributes
    Dim cm As Imaging.ColorMatrix = New Imaging.ColorMatrix(New Single()() _
    {New Single() {1, 0, 0, 0, 0}, _
    New Single() {0, 1, 0, 0, 0}, _
    New Single() {0, 0, 1, 0, 0}, _
    New Single() {0, 0, 0, 1, 0}, _
    New Single() {0, 0, 0, 0, 1}})
#End Region
 
#Region "Кнопка Закрыть"
#Region "Таймер"
    Private Sub TimerExitIn_Tick(sender As Object, e As EventArgs) Handles TimerExitIn.Tick
        proz -= 0.05!
        If proz < 0.0! Then
            proz = 0.0!
            TimerExitIn.Enabled = False
        End If
 
        cm.Matrix33 = proz
        ia.SetColorMatrix(cm)
 
        With ButtonExit
            Dim g As Graphics = Graphics.FromImage(.Image)
            g.DrawImage(UnderImage, 0, 0)
            g.DrawImage(OverImage, _
            Rectangle.Round(OverImage.GetBounds(GraphicsUnit.Pixel)), 0, 0, _
            UnderImage.Width, UnderImage.Height, GraphicsUnit.Pixel, ia)
            g.Dispose()
        End With
 
        ButtonExit.Refresh()
    End Sub
 
    Private Sub TimerExitOut_Tick(sender As Object, e As EventArgs) Handles TimerExitOut.Tick
        proz -= 0.05!
        If proz > 0.0! Then
            proz = 0.0!
            TimerExitOut.Enabled = False
        End If
 
        cm.Matrix33 = proz
        ia.SetColorMatrix(cm)
 
        With ButtonExit
            Dim g As Graphics = Graphics.FromImage(.Image)
            g.DrawImage(OverImage, 0, 0)
            g.DrawImage(UnderImage, _
            Rectangle.Round(UnderImage.GetBounds(GraphicsUnit.Pixel)), 0, 0, _
            OverImage.Width, OverImage.Height, GraphicsUnit.Pixel, ia)
            g.Dispose()
        End With
 
        ButtonExit.Refresh()
    End Sub
#End Region
    Private Sub ButtonExit_MouseMove(sender As Object, e As MouseEventArgs) Handles ButtonExit.MouseMove
        TimerExitIn.Interval = 10
        TimerExitIn.Enabled = True
    End Sub
 
    Private Sub ButtonExit_MouseLeave(sender As Object, e As EventArgs) Handles ButtonExit.MouseLeave
        TimerExitOut.Interval = 10
        TimerExitOut.Enabled = True
    End Sub
#End Region
 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        OverImage = New Bitmap(My.Resources.Закрыть_1)
        UnderImage = New Bitmap(My.Resources.Закрыть_2)
        ButtonExit.Image = OverImage.Clone
        ButtonExit.Size = New Size(OverImage.Width, OverImage.Height)
    End Sub
End Class
Я думаю проблемы в процедуре TimerExitOut_Tick. Но найти их не могу. Кто может помочь?
0
 Аватар для Pooh
409 / 361 / 82
Регистрация: 07.10.2009
Сообщений: 558
27.06.2012, 15:31
Изменил свой проект, теперь изображения в PictureBox меняются при MouseEnter и MouseLeave.
Вложения
Тип файла: zip WinApp.zip (52.9 Кб, 72 просмотров)
3
 Аватар для kOS_77
196 / 188 / 9
Регистрация: 14.06.2011
Сообщений: 495
27.06.2012, 15:58
Получилось достаточно здорово !
0
0 / 0 / 1
Регистрация: 16.04.2012
Сообщений: 19
27.06.2012, 16:00  [ТС]
kOS_77, ага

Pooh, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.06.2012, 16:00
Помогаю со студенческими работами здесь

Плавное появление и исчезновение
Всем привет. Хотела, чтобы при наведении на кнопку выпадающий список плавно появлялся, а если увести курсор, то плавно исчезал...Написала...

Плавное появление/исчезновение текста
Добрый вечер. Помогите, плз, сделать такой эффект. Когда поле ввода получает фокус, где-то рядом появляется подсказка. Когда фокус...

Плавное появление и исчезновение формы
Пишу прогу, хочу сделать плавное появление и исчезновение формы. Сделала что то следующие: public partial class Form1 : Form { ...

Плавное исчезновение компонента (TImage)
У меня на форме есть компонент TImage, после клика по нему делаю его невидимым: Image1.Visible := False; Проблема в том, что он сразу...

Плавное появление и исчезновение формы
Сделал я форму, захотелось сделать её плавно появляющейся и плавно закрывающейся, впринципи получилось, но есть трабла: форма появляется не...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru