Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как определить открыта ли вторая форма? 
V
    Опции темы
ShamanK
Дата 26.2.2010, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 24.2.2010

Репутация: нет
Всего: нет



есть кнопка на форме1, надо чтобы при нажатии на нее, определялось открыта форма2 или нет, если нет то открыть, если да, то закрыть.

помогите плиз.
PM MAIL   Вверх
diadiavova
Дата 26.2.2010, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Тебе нужно чтобы в форме1 была ссылка на вторую форму. То есть в форме1 объяви переменную, которая будет хранить ссылку на форме два и при нажатии кнопки проверяй. В принципе и проверять необязательно, можно просто менять значение свойства Visible на противоположное.
Код

Dim f2 As New Form2
Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    f2.Visible = Not f2.Visible
End Sub



--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
ShamanK
Дата 26.2.2010, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 24.2.2010

Репутация: нет
Всего: нет



чет у меня не получается.. 

у меня не кнопка а панель.. при нажатии на которую происходило следующее: 

Код

    Private Sub Panel1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseClick
        TAlert.Show()
        Me.Panel1.BackColor = System.Drawing.Color.Lime
    End Sub


тоесть.. до нажатия на эту панель ее цвет КРАСНЫЙ, после нажатия - открывается форма TAlert а цвет панели становится зеленым.
теперь надо при повторном нажатии на эту панель все вернуть на круги своя.. тоесть закрыть форму TAlert и цвет панели сделать обратно красным.
PM MAIL   Вверх
xXxSataNxXx
Дата 26.2.2010, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 25.12.2009

Репутация: 1
Всего: 1



Код

    Private Sub Panel1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseClick
        If TAlert.Visible = False Then
            Me.Panel1.BackColor = Color.Lime        
            TAlert.Show()
        Else
            Me.Panel1.BackColor = Color.Red
            TAlert.Hide()
        End If
    End Sub


Это сообщение отредактировал(а) xXxSataNxXx - 26.2.2010, 20:30
PM MAIL   Вверх
ShamanK
Дата 26.2.2010, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 24.2.2010

Репутация: нет
Всего: нет



xXxSataNxXx

огромное спасибо! все работает на ура.. 
если позволите еще один вопрос - теперь по месторасположению открытия формы TAlert

главная форма у меня размерами 700*1000
так как форма TAlert у меня Контролбокс=фальш
то надо чтобы она открывалась в определенном месте поверх главной формы.. такое возможно?

причем независимо от того перемещалась ли главная форма по моинтору или нет.. открытие формы TAlert всегда в точном месте относительно главной формы.. 

заранее спасибо!
PM MAIL   Вверх
xXxSataNxXx
Дата 26.2.2010, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 25.12.2009

Репутация: 1
Всего: 1



Код

Private Sub Panel1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseClick
        If TAlert.Visible = False Then
            TAlert.Location = New Point(Me.Left + X, Me.Top + Y)
            Me.Panel1.BackColor = Color.Lime        
            TAlert.Show()
        Else
            Me.Panel1.BackColor = Color.Red
            TAlert.Hide()
        End If
    End Sub


В строке TAlert.Location = New Point(Me.Left + X, Me.Top + Y) замени X и Y на количество нужное пикселей(X - горизонталь, Y - вертикаль)

Это сообщение отредактировал(а) xXxSataNxXx - 26.2.2010, 20:54
PM MAIL   Вверх
ShamanK
Дата 26.2.2010, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 24.2.2010

Репутация: нет
Всего: нет



спасибо, все работает!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0446 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.