Страница: 1 |
Страница: 1 |
Вопрос: Загрузка формы без её отображения
Добавлено: 09.01.06 02:37
Автор вопроса: Neco | Web-сайт:
Когда форма загружается, она всегда становиться видимой, а мне это не нужно. Приходится ставить Hide в других событиях, но при этом она всё равно сначала появиться, а потом исчезает - бесит. 8)
Как это можно сделать? В VB6 это лечилось Visible=False в процедуре OnLoad, а здесь не лечится...
Ответы
Всего ответов: 15
Номер ответа: 1
Автор ответа:
KEP
Вопросов: 44
Ответов: 119
Профиль | | #1
Добавлено: 09.01.06 04:59
Что просто спрятать форму не катит ME.HIDE СТРАННО
Сделай ее маааааленким размером тогда не увидешь
me.height=1
me.widht=0
me.scaleheight=1
me.scalewidht=0
me.hide
Номер ответа: 2
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #2
Добавлено: 10.01.06 23:53
ну, КЕР, загнул
Попробуй АПИшку ShowWindow
Номер ответа: 3
Автор ответа:
Lexa
Вопросов: 2
Ответов: 5
Профиль | | #3
Добавлено: 11.01.06 01:04
Почему при событии "загрузка формы", если пропишешь me.hide() или Me.Visible = false вылетает ошибка ?
Номер ответа: 4
Автор ответа:
KEP
Вопросов: 44
Ответов: 119
Профиль | | #4
Добавлено: 11.01.06 03:04
Если ты ее прячиш, она быстро появляется а потом исчезает. Значит гдето в разделе загрузки у тебя прописано обращение к ней! Вот так! Так же мучался. пока все строки не проверил
Номер ответа: 5
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #5
Добавлено: 11.01.06 18:09
Неуправляемый код - дядя Билли завещал от него отказываться. Да и хочется стандартными методами, а то так можно и до ручного создания формы докатиться.
Номер ответа: 6
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #6
Добавлено: 11.01.06 18:13
Да у меня подразумевается обращение к ней - к примеру, мне нужен какой-либо элемент проинициализировать, но при этом совсем не надо, чтобы форма сразу отображалась.
В общем, кое-где увидел, что надо попросту создавать форму в Sub Main командой New, но при этом не делать Application.Run (MyFormClass).
Пока не пробовал (и не знаю чем тогда будет заниматься мой поток), но думаю разберусь...
Номер ответа: 7
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #7
Добавлено: 12.01.06 00:07
Номер ответа: 8
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #8
Добавлено: 13.01.06 02:22
Не знаю, что за ошибка (лучше, если бы ты её описание привел), но возможно, что самой формы ещё нет, а ты её уже используешь. 8)
Номер ответа: 9
Автор ответа:
Lexa
Вопросов: 2
Ответов: 5
Профиль | | #9
Добавлено: 13.01.06 22:30
Ошибка:
An unhandled exception of type 'System.ComponentModel.Win32Exception' occurred in system.windows.forms.dll
Additional information: Error creating window handle.
Код:
Private Sub objFormFindParts_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
boolIsSearched = False
Me.Text = FCaption
Me.Visible = False
Номер ответа: 10
Автор ответа:
Lexa
Вопросов: 2
Ответов: 5
Профиль | | #10
Добавлено: 13.01.06 22:35
Me.Hide - Анологично
Номер ответа: 11
Автор ответа:
student-uni
Вопросов: 122
Ответов: 257
Профиль | | #11
Добавлено: 20.01.06 17:01
Me.Height = 0
Me.Width = 0
Номер ответа: 12
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #12
Добавлено: 20.01.06 21:54
Такая ошибка у меня вылезала, когда я где-нибудь по нечайке удалял строки типа MyBase.SomeLoadSub т.е. не давал создать Васе его форму.
Me.Width = 0
Не знаю - получится ли. Имхо, ошибка вылезет.
Но в любом случае я уже справился с проблемой тем образом, о котором говорил.
Номер ответа: 13
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #13
Добавлено: 09.02.06 01:27
Блин.. не смог я промолчать и пройти мимо этого топика... Вы уж простите ламера.. но я все равно СКАЖУ!!
Парни,чего вы тут чушь городите???
Какие me.widht=0 или me.visible=false ??? а еще и ShowWindow... Вы еще посоветуйте ему прозрачность формы установить в ноль!!! ))) да ему всего-то надо было..
Кто такое сказал,что форма при загрузке ВСЕГДА становится видимой? Она становится видимой только после вызова метода Show!! А пока его не вызвали.. форма ЗАГРУЖЕНА и даже не пытается показаться!! Вы не поверите, я после этого топика.. даже сам в себе сомневаться начал и проверил это дело.. Достаточно одной строки..
что уже само по себе вызывает загрузку формы. И при этом форма вполне рабочая и совершенно не видна!!! и даже не мигает.. ))))))
Номер ответа: 14
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #14
Добавлено: 09.02.06 02:06
А что касается твоей ошибки..
Additional information: Error creating window handle
То тут ясно написано,что ошибка создания handle.. Другими словами форма находится только в в ПРОЦЕССЕ СОЗДАНИЯ!! и естесственно, еще не имеет хэндла потому что он еще не создан!! А ты уже пытаешь отправить несущеествующему окну сообщение..
По всей видимости у тебя VS 2003,поскольку я проверял в 2005 студии.. Me.Hide & Me.Visible=False в событии Load не вызывают ошибки.. но и НЕ РАБОТАЮТ!! форма появляется как ни в чем не бывало.. В принципе,это равносильно тому,что иницировать событие класса в процедуре Sub New. и ошибки нет.. и событие не срабатывает, поскольку причина та же.. класс находится в процессе создания..
Номер ответа: 15
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #15
Добавлено: 11.02.06 16:27
Мля ну ты читай ответы ПОМИМО вопроса: