С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/29: Рейтинг темы: голосов - 29, средняя оценка - 4.97
Лень — мое второе и
 Аватар для Orlangur
3226 / 2414 / 687
Регистрация: 28.11.2014
Сообщений: 3,600
Записей в блоге: 3

Свернуть и развернуть форму без бордюра по щелчку на панели задач

18.02.2017, 11:45. Показов 6119. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Столкнулся с такой странной проблемой... Есть форма без бордюра, кнопок управления тоже нет. Кнопки сделал сам, все отлично, сворачивают, закрывают форму, когда форма свернута, нажатием на иконку на панели задач, она разворачивается, но есть 2 проблемы
1) сворачивание и разворачивание формы происходит без системной анимации, просто появилась, или пропала.
2)если приложение развернуто и нажать на панели задач на её значок, то она не свернется, как должна, имея бордюр.
Может кто боролся с таким?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.02.2017, 11:45
Ответы с готовыми решениями:

Сворачивание формы без бордюра по клике на ее иконку в панели задач
Здравствуйте, подскажите как сворачивать форму по клику по иконке на панели задач, если моя форма Me.FormBorderStyle =...

Как развернуть форму из панели задач
Добрый день, уважаемые. Лирическое описание моей проблемки: Из-за того, что на не очень большом экране нужно разместить массу...

Развернуть форму на весь экран с учетом панели задач
При запуске команды в режиме maximised низ формы уходит за пень задач, мне нужно до панели задач, поэтому нужно определить размер формы...

8
79 / 72 / 4
Регистрация: 05.01.2016
Сообщений: 288
18.02.2017, 15:09
VB.NET
1
Me.WindowState = FormWindowState.Minimized
А так не годиться?
0
Лень — мое второе и
 Аватар для Orlangur
3226 / 2414 / 687
Регистрация: 28.11.2014
Сообщений: 3,600
Записей в блоге: 3
18.02.2017, 19:48  [ТС]
17Vasya17, ага, только вот куда это прописать? Какое событие у формы, когда щелкаешь по ней на панели задач?
0
79 / 72 / 4
Регистрация: 05.01.2016
Сообщений: 288
18.02.2017, 21:17
Цитата Сообщение от Orlangur1991 Посмотреть сообщение
куда это прописать?
Как пример:
VB.NET
1
2
3
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Me.WindowState = FormWindowState.Minimized
    End Sub
Где то видел есть анимации для форм не могу найти типа что то в этом роде:

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
    <Flags> _
    Enum AnimateWindowFlags
        AW_HOR_POSITIVE = &H1
        AW_HOR_NEGATIVE = &H2
        AW_VER_POSITIVE = &H4
        AW_VER_NEGATIVE = &H8
        AW_CENTER = &H10
        AW_HIDE = &H10000
        AW_ACTIVATE = &H20000
        AW_SLIDE = &H40000
        AW_BLEND = &H80000
    End Enum
    <System.Runtime.InteropServices.DllImport("user32.dll")> _
    Shared Function AnimateWindow(hWnd As IntPtr, time As Integer, flags As AnimateWindowFlags) As Boolean
    End Function
 
 
    Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
        AnimateWindow(Me.Handle, 1000, AnimateWindowFlags.AW_BLEND Or AnimateWindowFlags.AW_HIDE)
    End Sub
 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        AnimateWindow(Me.Handle, 1000, AnimateWindowFlags.AW_BLEND Or AnimateWindowFlags.AW_VER_POSITIVE)
    End Sub
Правда тут для плавного появления формы

Добавлено через 8 минут
Вот тут есть про анимацию:
http://kbyte.ru/ru/Programming... &mode=show

Добавлено через 17 минут
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    Const AW_HOR_POSITIVE = &H1 'Анимация окна слева направо.
    'Этот флаг используется совместно с эффектами развёртывания и соскальзывания.
    Const AW_HOR_NEGATIVE = &H2 'Анимация окна справа налево.
    'Этот флаг используется совместно с эффектами развёртывания и соскальзывания.
    Const AW_VER_POSITIVE = &H4 'Анимация окна сверху вниз.
    'Этот флаг используется совместно с эффектами развёртывания и соскальзывания.
    Const AW_VER_NEGATIVE = &H8 'Анимация окна снизу вверх.
    'Этот флаг используется совместно с эффектами развёртывания и соскальзывания.
    Const AW_CENTER = &H10 'Окно сворачивается внутрь себя если
    'установлен флаг AW_HIDE, иначе разворачивается
    Const AW_HIDE = &H10000 'Скрывает окно, по умолчанию окно появляется.
    Const AW_ACTIVATE = &H20000 'Активизирует окно.
    Const AW_SLIDE = &H40000 'Устанавливает эффект соскальзывания.
    'По умолчанию эффект развёртывания.
    Const AW_BLEND = &H80000 'Эффект постепенного появления.
    'Применяется только к окнам верхнего уровня.
1
Лень — мое второе и
 Аватар для Orlangur
3226 / 2414 / 687
Регистрация: 28.11.2014
Сообщений: 3,600
Записей в блоге: 3
19.02.2017, 15:51  [ТС]
17Vasya17, спасибо, на счет анимации разобрался) а вот насчет сворачивания окна, видимо был не так понят. У меня имеется кнопка с кодом
VB.NET
1
Me.WindowState = FormWindowState.Minimized
, к этому вопросов нет.
Вопрос в другом: открыта форма, если у неё formborderstyle = sized, то при щелчке на иконку этого приложения на панели задач, оно свернется, при ещё одном - развернется.
Если у формы formborderstyle = none, то тут уже другая тема, при открытом приложении и щелчке на его иконку на панели задач - ничего не происходит, если оно свернуто, то оно разворачивается. Так вот, какое событие отвечает за щелчек по иконке на панели задач?
0
79 / 72 / 4
Регистрация: 05.01.2016
Сообщений: 288
19.02.2017, 16:43
Цитата Сообщение от Orlangur1991 Посмотреть сообщение
Так вот, какое событие отвечает за щелчек по иконке на панели задач?
formborderstyle = FixedSingle если рамка нужна
Ну я так всегда ставил. Всё норм работает

formborderstyle = none

VB.NET
1
2
3
4
5
 Private Sub PictureBox1_MouseDown(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseDown
        If e.Button = Windows.Forms.MouseButtons.Left Then
            Me.WindowState = FormWindowState.Minimized
        End If
    End Sub
0
Лень — мое второе и
 Аватар для Orlangur
3226 / 2414 / 687
Регистрация: 28.11.2014
Сообщений: 3,600
Записей в блоге: 3
19.02.2017, 17:20  [ТС]
17Vasya17, в том то и дело, что должна быть без рамки. А насчет кода не совсем понял, причем тут picturebox?
0
79 / 72 / 4
Регистрация: 05.01.2016
Сообщений: 288
19.02.2017, 17:44
Лучший ответ Сообщение было отмечено Orlangur1991 как решение

Решение

Цитата Сообщение от Orlangur1991 Посмотреть сообщение
А насчет кода не совсем понял, причем тут picturebox?
Пример кнопки (я обычно так делал)

Добавлено через 9 минут
Цитата Сообщение от Orlangur1991 Посмотреть сообщение
щелчке на его иконку на панели задач - ничего не происходит
Тут не понятно. Если я ставлю в настройках формы formborderstyle = none
И выше анимацию. При сворачивание всё норм при нажатие на ярлык в панели задач тоже всё нормально работает. Что у вас не выходит я пока понять не магу.

Может на таймер попробовать отслеживания нажатия мыши поставить?

Добавлено через 3 минуты
Вот тут можно посмотреть
Сворачивание формы без бордюра по клике на ее иконку в панели задач
1
Лень — мое второе и
 Аватар для Orlangur
3226 / 2414 / 687
Регистрация: 28.11.2014
Сообщений: 3,600
Записей в блоге: 3
20.02.2017, 14:20  [ТС]
17Vasya17, спасибо, эта штука работает как надо
VB.NET
1
2
3
4
5
6
7
Protected Overrides ReadOnly Property CreateParams() As CreateParams
        Get
            Dim CP As CreateParams = MyBase.CreateParams
            CP.Style = &HA0000
            Return CP
        End Get
    End Property
Добавлено через 19 часов 33 минуты
Заменил
VB.NET
1
 CP.Style = &HA0000
на
VB.NET
1
 CP.Style = CP.Style Or &HA0000
Иначе при обратной программной смене FormBorderStyle на Sizeble, рамка окна не появляется.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.02.2017, 14:20
Помогаю со студенческими работами здесь

Развернуть свернуть форму
Наверняка этот вопрос здесь обсуждался. Но я пока на него не нашел ответа. Есть некая программа. Если я ее начинаю разворачивать...

События свернуть / развернуть форму...
По какому событитю можно отлавливать сворачивание формы на системную панель, а также разворачивание формы обратно на экран?

Свернуть/Развернуть свою форму по F5
Проблема реагирования форми на F5 когда моя форма свернута, и активна другая. Во время работы в другим окном нужно при нажатии F5...

Как развернуть и свернуть форму???
Здравствуйте, помогите мне осуществить следующее: Есть форма и при двойном нажатии она разворачивается на весь экран, при повторном...

Развернуть и свернуть дочернюю форму
Доброе время суток подскажите плз как развернуть и свернуть дочернею форму в PageControl или в HeaderControl???


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru