Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для eJ_Studio
169 / 149 / 14
Регистрация: 13.07.2011
Сообщений: 477

Не раскрывается формы после сворачивания

30.09.2011, 18:04. Показов 2089. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Небольшая проблема которую не могу решить

У меня по нажанию кнопки происходит определенный процесс в главной форме(поиск файлов) - и после окончания поиска - результат (сколько нашлось) выводится на форму 2. Которая в свою очередь выскакивает сразу после окончания процесса поиска.

Проблема в том, что если начать процесс поиска - и в этом процессе свернуть форму - то при ее разворачивании(а разворачиваю когда поиск окончен и вторая форма уже отобрахилась) - она не разворачивается...Причем развернуть есть в попупменю формы - но и оно не срабатывает.

Получается развернуть форму - если вторая форма(с резульататами поиска) - имеет панельку на панели задач(ShowInTaskBar)...Но мне нужно чтобы она была без этого свойства. И вот получается что если я свернул форму с процессом поиска - и поиск был окончен(с выводом формы2) - то восстановить главную форму не получается. Проверку сделать конечно можно - типо "если процесс окончен и главная форма свернута - то разворачиваемся..но это не то что нужно.

А нужно тупо чтобы когда я развернул свою программу - то там на переднем плане была вторая форма с результатом поиска. А получается что если вторая форма сработала - то не дает развернуться главной форме.
Вот не много кода. Может так будет понятнее:

VB.NET
1
2
3
4
   Sub before_flow_SWF(ByVal iod As IO.DirectoryInfo)
        SWf(iod) процедура поиска. Сразу за ее исполнением выскакивает форма с результатом. Все операции через поток
                Me.Invoke(New MethodInvoker(AddressOf Anime_Show))
    End Sub
VB.NET
1
2
3
4
5
6
7
8
9
10
11
появление второй формы
  Private Sub Anime_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Me.SetBounds(Form1.Left + (Form1.ClientSize.Width - Me.ClientSize.Width) / 2, Form1.Top + (Form1.ClientSize.Height - Me.Height) / 2, Me.Width, Me.Height, BoundsSpecified.All)
        Me.Location = New Point(Form1.Left + (Form1.ClientSize.Width - Me.ClientSize.Width) / 2, Form1.Top + (Form1.ClientSize.Height - Me.Height) / 2) ', Me.Width, Me.Height, BoundsSpecified.All)))
        Me.Label1.Text = "Поиск окончен! Найденно: " & Form1.ListView1.Items.Count
        Dim WindowAnimater As New AnimeForm
        WindowAnimater.AnimationDirection = AnimeForm.AnimateDirection.Horizontal_Positive
        WindowAnimater.AnimationStyle = AnimeForm.AnimateStyles.Center
        WindowAnimater.WindowHandle = Me.Handle
        WindowAnimater.AnimateWindow()
    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
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
Imports System.ComponentModel
 
Public Class AnimeForm
    Private Declare Function AnimateWindow Lib "USER32.DLL" (ByVal hwnd As IntPtr, ByVal time As Integer, ByVal flags As Integer) As Boolean
 
    Public Enum AnimateStyles
        Slide = 262144
        Activate = 131072
        Blend = 524288
        Hide = 65536
        Center = 16
    End Enum
 
    Public Enum AnimateDirection
        Horizontal_Positive = 1
        Horizontal_Negative = 2
        Vertical_Positive = 4
        Vertical_Negative = 8
    End Enum
 
    Private AniTime As Integer = 400
    Private WinHandle As IntPtr
    Private AniStyle As AnimateStyles = AnimateStyles.Blend
    Private AniDirection As AnimateDirection = AnimateDirection.Horizontal_Negative
 
    <Category("Window Animator")> _
    <Description("Gets/Sets the animation time in milliseconds.")> _
    Public Property AnimationTime() As Integer
        Get
            AnimationTime = AniTime
        End Get
        Set(ByVal Value As Integer)
            AniTime = Value
        End Set
    End Property
 
    Public Property WindowHandle() As IntPtr
        Get
            WindowHandle = WinHandle
        End Get
        Set(ByVal Value As IntPtr)
            WinHandle = Value
        End Set
    End Property
 
 
    Public Property AnimationStyle() As AnimateStyles
        Get
            AnimationStyle = AniStyle
        End Get
        Set(ByVal Value As AnimateStyles)
            AniStyle = Value
        End Set
    End Property
 
 
    Public Property AnimationDirection() As AnimateDirection
        Get
            AnimationDirection = AniDirection
        End Get
        Set(ByVal Value As AnimateDirection)
            AniDirection = Value
        End Set
    End Property
 
    Public Function AnimateWindow()
        AnimateWindow(WindowHandle, AniTime, AniDirection Or AniStyle)
        Return 0
    End Function
 
End Class
Добавлено через 1 час 2 минуты
сори не дописал код
процедура самого вызова второй формы
VB.NET
1
2
3
    Sub Anime_Show()
        Anime.ShowDialog()
    End Sub
Пробовал и просто Шоу делать.не помогло
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.09.2011, 18:04
Ответы с готовыми решениями:

После сворачивания приложения меняется положение формы
Имеется форма, для которой в графическом интерфейсе Visual Studio установлено значение Location = (0,0). Однако при запуске программы...

Как сохранить экран после сворачивания формы?
После сворачивания формы (переключения на другую задачу) на форме пропадает все, что было нарисовано с помощью API . Как от этого избавиться

Черное окно RDP после его восстановления после сворачивания в панель задач
Доброго всем! Одноранговая сеть, Winserv2018r2, 15 локальных RDP клиентов (1С) Пару месяцев назад проявилась проблема. Клиент работает...

3
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
30.09.2011, 19:47
Цитата Сообщение от eJ_Studio Посмотреть сообщение
Пробовал и просто Шоу делать
Если вторая форма модальна, а первая свернута, то доступа к главной нет, и у нее уже не увидишь даже как ты сам назвал Попупменю.

В случае с .Show все должно работать.
Попробуй закомментировать подозрительные участки кода, а то разобраться у меня терпения не хватает
0
 Аватар для eJ_Studio
169 / 149 / 14
Регистрация: 13.07.2011
Сообщений: 477
30.09.2011, 22:28  [ТС]
Цитата Сообщение от Памирыч Посмотреть сообщение
Если вторая форма модальна, а первая свернута, то доступа к главной нет
так и ко второй доступа получается нету
0
30.09.2011, 22:34

Не по теме:

Цитата Сообщение от eJ_Studio Посмотреть сообщение
так и ко второй доступа получается нету
Я несколько раз запускал подобное, и бывало, что и обе формы на экране, а главная недоступна по понятным причинам, но и модальная тоже не отвечает на перетаскивания, ресайз, а только на события в контроллбоксе.
Я подумал что это у меня глюк

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

Эффект Сворачивания и Разворачивания формы
Всем доброго время суток. Копаясь на просторах интернета увидел интересный код и решил выложить тут. Нашел тут: H_n_R21GEDo ...

Полный запрет на сворачивания формы
Подскажите как удержать форму на рабочем столе по нажатию на win+d Облазил весь интернет решений пару нашёл : 1 . поставить хук на...

Сворачивания и разворачивания формы с определением
Здраствуйте и еще нужно решения одного вопроса а именно. Как опредеелить в какой момент сворачивается и разворачивается форма. Цель...

База после сворачивания
Добрый день! Была сделана срезка базы обработкой wrap, потом удалил помеченные документы сделал тестирование и исправление базы,...

Открытие модальной формы авторизации без возможности сворачивания
Здравствуйте! У меня есть форма авторизации, нужно сделать так, чтобы в главной форме человек нажимал на кнопку авторизации, открывалась...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru