REM
|
|
1 | |
Проверка "загружена форма или нет" ?22.04.2007, 13:11. Показов 2944. Ответов 5
Метки нет Все метки)
(
HIHI FRDS !
Подскажите, пожалуйста, как сделать проверку занружена форма или нет. Например, имеем проект с двумя формами. При старте загружается Form1. Form2 загружается при нажатии Form1.Button1 При нажатии Form1.Button2 надо проверить, загружена Form2 или нет. Заранее благодарен за ответ и вашу помощь. Regards, Andy. romul@mail.lv www.forexnet.lv |
|
22.04.2007, 13:11 | |
Ответы с готовыми решениями:
5
Проверка: загружена форма или нет? Как узнать загружена форма или нет? Как узнать загружена нужная форма или нет? Указать для каждого вопроса проценты ответов "да", "нет", "не знаю" |
3 / 3 / 0
Регистрация: 15.03.2007
Сообщений: 63
|
|
22.04.2007, 14:15 | 2 |
From MSDN:
A Forms collection is a collection whose elements represent each loaded form in an application. The collection includes the application'sMDI form,MDI child forms, and non-MDI forms. The Forms collection has a single property, Count, that specifies the number of elements in the collection.
0
|
ComeRun
|
|
22.04.2007, 14:33 | 3 |
? Screen.ActiveForm.Name
Form2 Удачи... |
VladK
|
|
23.04.2007, 07:24 | 4 |
Посади на форму 2 кнопки и текстовое поле.
1-я кнопка плодит нумерованные формы. 2-я кнопка проверяет, загружена ли К-я форма. Число К вводи в текстовое поле. Option Explicit Private Sub Command1_Click() Dim form2 As Form Static i As Integer If i = 0 Then i = 1 i = i + 1 Set form2 = New Form1 With form2 .Caption = 'Form ' & i .Command1.Visible = False .Command2.Visible = False .Text1.Visible = False .Show End With Form1.ZOrder End Sub Private Sub Command2_Click() Dim myForm As Form For Each myForm In Forms If myForm.Caption = 'Form ' & Text1.Text Then MsgBox 'Form ' & Text1.Text & ' Loaded' Exit Sub End If Next myForm MsgBox 'Form ' & Text1.Text & ' Not Loaded' End Sub Private Sub Form_Load() Text1 = vbNullString Me.Caption = 'Form 1' End Sub |
Mavr
|
|
23.04.2007, 14:50 | 5 |
ArtP правильно написал, необходимо смотреть коллекцию Forms. Коллекция Forms содержит все загруженные формы. Форма может быть и невидима, но если она будет загружена, то она попадет в колекцию Forms.
Метод ActiveForm объекта Screen возвращает активную в данный момент форму, т.е. форму на которой находится фокус, поэтому в данном случае этот метод не подходит. Вот простенькая функция, которая возвращает истину, если форма загружена (в качестве параметра FormName ей передается имя формы в проекте VB, не Caption): Function IsLoadedForm (FormName As String) As Boolean Dim i IsLoadedForm = False For i = 0 To Forms.count - 1 If Forms(i).Name = FormName Then IsLoadedForm = True Exit Function End If Next End Function |
1 / 1 / 0
Регистрация: 19.03.2007
Сообщений: 123
|
|
23.04.2007, 14:58 | 6 |
Проверка существования формы по заголовку, если формы нет создает новую копию, если есть - активизирует. У меня работает по клику в меню, в качестве заголовка формы используется название пункта меню.
' m000(index) - пункт меню mnuCapt1 = m000(Index).Caption xx = 0 For i = 1 To Forms.Count - 1 If Forms(i).Caption = mnuCapt1 Then Forms(i).SetFocus Forms(i).WindowState = 0 xx = i End If Next If xx = 0 Then Set fGrup = New frmGrup fGrup.Caption = mnuCapt1 fGrup.Width = 8070 fGrup.Height = 6555 Load fGrup fGrup.Show End If
0
|
23.04.2007, 14:58 | |
Помогаю со студенческими работами здесь
6
Указать для каждого вопроса проценты ответов "да", "нет", "не знаю"
Как зделать так ,что бы в "менюстрип" при нажатии на вклаку появлялась другая "форма" Что такое "Модуль" и "Форма" и чем они отличаются Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |