Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Вопрос по ListView в VB Добавлено: 05.07.07 11:29  

Автор вопроса:  killogin
У меня проблемка небольшая. Есть файл, из которого надо загрузить информацию в объект ListView, но форма с этим объектом должна быть невидима до определенного момента, а как только я начинаю загружать файл в объект ListView, форма появляется сама. Кто нибудь может подсказать решение?

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 ENIX



ICQ: 238819245 

Вопросов: 9
Ответов: 76
 Профиль | | #1 Добавлено: 05.07.07 12:56
Загружаеш ты скорей всего в сабе FormLoad, а все действия с контролами тут автоматом показывает форму. Выход:

1) Использовать свойство Visible у формы
2) Использовать Sub_main при этом не забыть поставить в свойствах проекта старт с этой процедуры. Процедура описываться должна в модуле. (Рекомендую)

ПС надеюсь я тебя правильно понял

Ответить

Номер ответа: 2
Автор ответа:
 killogin



Вопросов: 5
Ответов: 23
 Профиль | | #2 Добавлено: 05.07.07 13:05
Не совсем. Я так пробовал. Дело в том, что форма подгружается и остается невидимой, тут все нормально. А вот как только я пытаюся заполнить таблицу этой форма, она сразу становится автоматом видимой, вне зависимости от свойства Visible.

Ответить

Номер ответа: 3
Автор ответа:
 art



Вопросов: 45
Ответов: 119
 Профиль | | #3 Добавлено: 05.07.07 21:30
может код приведешь?

Ответить

Номер ответа: 4
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #4 Добавлено: 05.07.07 21:46
Cкорее всего это MDI-child.
Есть у него такое позорное поведение.
Но все решаемо.

Ответить

Номер ответа: 5
Автор ответа:
 killogin



Вопросов: 5
Ответов: 23
 Профиль | | #5 Добавлено: 06.07.07 05:55
Точно это он самый. А можно поподробнее про решение.
А кода как такового нету, просто есть проблемка вот эта.

Ответить

Номер ответа: 6
Автор ответа:
 ENIX



ICQ: 238819245 

Вопросов: 9
Ответов: 76
 Профиль | | #6 Добавлено: 06.07.07 14:46
Понял проблему и вроде нашол выходы:

1) Нужно перетащить работу с листом в процедуру Activate формы и там либо добавить Visible=False либо вызвать апи Call SetWindowPos(hwnd, 0&, 0&, 0&, 0&, 0&, &H97). НО выход неприемлим!!!

2) Создать процедуру паблик из которой будет происходить всё и прописать там тоже самое что в пункте 1. Вызов формы из других форм и т.п. будет через эту процедуру.

У меня получилось...

Ответить

Номер ответа: 7
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #7 Добавлено: 07.07.07 22:44

    Dim hwcln As Long
        hwcln = FindWindowEx(MDIForm1.hwnd, 0, "MDICLIENT", "";)
        SendMessage hwcln, WM_SETREDRAW, 0, 0
        
        Form1.ListView1.ListItems.Add , , "qwerty"
        '...
        '...
        SendMessage hwcln, WM_SETREDRAW, 1, 0
        Form1.Visible = False

Ответить

Номер ответа: 8
Автор ответа:
 killogin



Вопросов: 5
Ответов: 23
 Профиль | | #8 Добавлено: 09.07.07 06:22
ОК, всем спасибо, вроде чета получилось

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам