Помогите пожалуйста решить проблему!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Craf
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 09.09.2005 (Пт) 22:11

Помогите пожалуйста решить проблему!

Сообщение Craf » 09.09.2005 (Пт) 22:18

Всем доброго времени суток. У меня такой вопрос. Вот например дана форма, на ней 2 Textbox'a, 4 CommandButton'a (например) мне нужно чтобы при нажатии на кнопку эти 2 Текстбокса и 4 кнопки стирались, т.е при нажатии это исчезало и открылся как бы чистый лист (только не вторая форма, а всё таже в которые и были объекты) для того чтобы поместить туда другие элементы. подскажите пожалуйста как это сдлеать ?! :oops:

P.S - Заранее спасибо!!

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 09.09.2005 (Пт) 22:24

Control.Visible=false
Лучше на форму кинь два фрейма и делай Visible=true \ false своим фреймам. Если фрейм невиден - невидны и все контролы внутри него. Фрейму можешь сделать BorderStyle = 0 (None), что бы границы самого фрейма небыло видно. Ну а так взависимости от задачи, мож тебе проще поштучно с контролами работать, а можно в имени контролов первую (вторую, третью ... :) ) букву делать определенной, тогда, к примеру, пробегаясь по коллекции контролов на форме взависимости от первой буквы имени делать видим\невидим. Короче - тьма вариантов ...
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!

SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Сообщение SHURUP » 10.09.2005 (Сб) 3:11

Согласен насчет фреймов. Именно так делаются большинство Wizard-ов. А если без вреймов - то, как по мне, удобно юзать свойство "tag", которое есть у всех элементов.
Пример: при нажатии на кнопку Command1 видимыми остаются только те элементы, которые в tag содержат "grup1"
Код: Выделить всё
Private Sub Command1_Click()
Dim cntrl As Control
For Each cntrl In Me.Controls
    cntrl.Visible = (cntrl.Tag = "grup1")
   'cntrl.Visible = false ' елси использовать эту строку вместо предыдущей - все элементы становятся невидимыми.
Next
End Sub
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

Craf
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 09.09.2005 (Пт) 22:11

Сообщение Craf » 10.09.2005 (Сб) 15:39

С этим я разобрался, НО при вот таком коде:
Код: Выделить всё
fraSystem.Visible = False
Убирается только фрейм, а контролы всё отсаются... Как сделать чтобы и они убирались ?! И вот еще, мне нужно чтобы убрался фрейм (с элементами) и появился новый с другими уже элементами, как это сделать ?!

P.S - спасибо...

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 10.09.2005 (Сб) 15:48

Наверное, следует вырезать все контролы (Ctrl+X), а затем вставить их во фрейм (выделить фрейм и нажать Ctrl+V)...
Моду создают модоки, а распространяют модозвоны.

HotKitten
Дятил
Дятил
Аватара пользователя
 
Сообщения: 400
Зарегистрирован: 24.01.2005 (Пн) 21:48
Откуда: из дома

Re: Помогите пожалуйста решить проблему!

Сообщение HotKitten » 10.09.2005 (Сб) 16:29

[quote="Craf"]Всем доброго времени суток. У меня такой вопрос. Вот например дана форма, на ней 2 Textbox'a, 4 CommandButton'a (например) мне нужно чтобы при нажатии на кнопку эти 2 Текстбокса и 4 кнопки стирались, т.е при нажатии это исчезало и открылся как бы чистый лист [quote]

Код: Выделить всё

Private Sub Command1_Click()
text1.visible = false
text2.visible = false
Command2.visible = false
Command3.visible = false
Command3.visible = false
end sub


или я что-то не понял??
Изображение

Craf
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 09.09.2005 (Пт) 22:11

Сообщение Craf » 10.09.2005 (Сб) 20:04

Правильно! НО Исчезать, они то исчезают, а как мне сделать чтобы сразу же появлялся другой фрейм ?! т.е нажимаю на кнопку - 1-ый фрейм стерается, открывается второй со своими контролами ?!

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 10.09.2005 (Сб) 20:40

Ну ты дал!!! Ну как исчезают, так и появляются...
Изначально создай второй фрейм с контролами и в свойствах фрейма еще при разработке укажи Visible=false . Ну а уже в проге опосля строки fraSystem.Visible = False пиши ВторойФрейм.Visible=true .
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!

Craf
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 09.09.2005 (Пт) 22:11

Сообщение Craf » 11.09.2005 (Вс) 9:11

Большое всем спасибо, Разобрался...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 61

    TopList  
cron