Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 18.05.2014
Сообщений: 29
1

Как скрыть кнопку на form2, нажав на кнопку которая находится на form1

02.06.2015, 18:47. Показов 3869. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как скрыть кнопку на form2, нажав на кнопку которая находится на form1? т.е. нажав на кнопку OpenFrm2, открывается форма Form2, и кнопка CloseBtn становится скрытой
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2015, 18:47
Ответы с готовыми решениями:

Создать кнопку на Form2 в Load Form1
В стандартном проекте WF в Form1_Load создаем новый Form2 private: System::Void...

Выполнение кода при нажатии на кнопку в Form1 и Form2
Visual Basic 6.0 есть форм 1 и форм 2 в каждой форме прописаны определённые действия и в каждой...

Как написать кнопку, чтобы нажав на кнопку она "примерно" находило совпадение
как написать кнопку в девел студио чтобы нажав на кнопку она "примерно" находило совпадение по мд5...

При нажатии на кнопку на одной форме (Form1) выполнить действие на другой (Form2)
Как сделать так чтобы при нажатии на клавишу button на одной форме(Form1) выполнялись действия...

7
548 / 479 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
04.06.2015, 02:19 2
Предварительно кнопке2 присвойте свойству Modifiers значение public

C#
1
2
3
4
5
6
7
8
9
10
11
Forms Code
{
       private void button1_Click(object sender, EventArgs e)
       {
         Form2 f2 = new Form2();
          f2.button2.Visible = false;
           f2.Show();
            this.Hide();
 
       }
}
Добавлено через 3 минуты
Уточняю: кнопка1 на форме1, 2 - на форме2
0
153 / 153 / 56
Регистрация: 20.12.2011
Сообщений: 1,614
04.06.2015, 10:55 3
как вариант, создать публичный статический метод, который изменит состояние кнопки, на форме 1 и вызвать его из формы 2, во время ее открытия.
0
51 / 42 / 24
Регистрация: 18.09.2014
Сообщений: 116
04.06.2015, 15:22 4
Цитата Сообщение от zna926 Посмотреть сообщение
Предварительно кнопке2 присвойте свойству Modifiers значение public
zna926, не лучший вариант играться с модификаторами доступа. Предложение Art мне нравится больше.
0
0 / 0 / 0
Регистрация: 18.05.2014
Сообщений: 29
04.06.2015, 20:24  [ТС] 5
а как реализовать скрытие кнопки после закрытия формы? Имеется стартовая форма (Start) и форма авторизации (login). при запуске приложения запускается стартовая форма и поверх нее login как модальное диалоговое окно. логин и пароль хранятся в базе данных sql и происходит сравнение с введенными в textBox'ы данными. если введены верные данные то форма логина закрывается. добавил в таблицу поле доступ и теперь хочу создать условие на скрытие кнопок если значение поля доступ не равно определенному числу (99). Хочу реализовать что-то типа разграничения доступа.

стартовая форма
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public partial class Start : Form
    {
public Start()
        {
            InitializeComponent();
            LoginForm login = new LoginForm();  //открывается как модальное диалоговое окно
            this.Show();
            login.ShowDialog();
        }
        private void выходToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }
}
форма логин
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
public partial class LoginForm : Form
    {
        public LoginForm()
        {
            InitializeComponent();
        }
                
        private void button1_Click(object sender, EventArgs e)
        {
            SqlDataReader dr;
            try 
            {
                sqlConnection1.Open();
                dr = sqlCommand1.ExecuteReader();
                dr.Close();
                sqlCommand2.Parameters["@login"].Value = textBox1.Text;
                sqlCommand2.Parameters["@password"].Value = textBox2.Text;
                dr = sqlCommand2.ExecuteReader();
                if (textBox1.TextLength == 0 || textBox2.TextLength == 0)
                {
                    label3.Text = "*Не указан логин или пароль";
                }
                else if (!dr.Read())
                {
                    label3.Text = "*Неправильное имя пользователя или пароль";
                    dr.Close();
                    sqlConnection1.Close();
                    textBox2.Clear();
                    return;
                }
                else 
                    if(textBox1.Text == dr.GetString(1) &&
                        textBox2.Text == dr.GetString(2))
                    {
                    if(dr.GetInt32(3) != 99) //
                    {
 
                        //вход выполнен как обычный пользователь, необходимо скрыть кнопку button2 на форме Start
 
                    }
                    /*else
                    {
                        //вход выполнен как администратор
                    }*/
                    this.Close();
                }
                dr.Close();
                sqlConnection1.Close();
            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Application.ExitThread();
            }
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }
0
22 / 22 / 16
Регистрация: 04.06.2015
Сообщений: 126
05.06.2015, 22:41 6
а это требования ТЗ такие на порядок форм?
я бы сделал форму Login, в которую вводятся данные для авторизации,
а в ней, по нажатию на клавишу "CheckPassword" (ну или как она у вас там называется) вызывал конструктор формы2:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void ButtonCheckPassword_Click(object sender, EventArgs e)
{
   bool CheckResult; //результат твоей проверки
   Form2 f2 = new Form2(CheckResult);
   Form2.Show();
}
 
//а где-то там в конструкторе формы 2..
 
public Form2(bool LoadType)
{
  ~Form1();
  //Buttons - все твои кнопки, которые хочешь залочить
  if(LoadType)
  { Buttons.Enabled = true; }
  else
  { Buttons.Enabled = false; }
}
0
0 / 0 / 0
Регистрация: 18.05.2014
Сообщений: 29
06.06.2015, 11:21  [ТС] 7
это не требование, просто если стартовой (основной) формой будет форма login то после ее закрытия закрывается все приложение, а просто скрыть эту форму не вариант, т.к. хочу еще сделать смену пользователя из меню
0
22 / 22 / 16
Регистрация: 04.06.2015
Сообщений: 126
06.06.2015, 15:12 8
попробуй это:
в Form1 (основную) добавить обработчик события Form1.Load
C#
1
2
3
4
5
6
7
private void Form1_Load(object sender, EventArgs e)
{
      Form2 f2 = new Form2();
      f2.ShowDialog();
      if (f2.CheckResult)
      { button1.Enabled = true; }
}
а в Form2 что-то типо такого:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public partial class Form2 : Form
{
     //внешнее свойство
     public bool CheckResult
     {
           get { return (textBox1.Text == "123"); }
     }
     
     //реакция на твою кнопу проверки
     private void CheckButton_Click(object sender, EventArgs e)
     {
          this.Close();
     }
}
Добавлено через 7 минут
забыл добавить
в настройках Form1 для кнопок поставь по умолчанию button1.Enabled = false
либо исправь в коде

C#
1
2
3
4
5
6
7
private void Form1_Load(object sender, EventArgs e)
{
       Form2 f2 = new Form2();
       f2.ShowDialog();
       if (f2.CheckResult)
       { button1.Enabled = true; }
}
на
C#
1
2
3
4
5
6
7
8
9
private void Form1_Load(object sender, EventArgs e)
{
       Form2 f2 = new Form2();
       f2.ShowDialog();
       if (f2.CheckResult)
       { button1.Enabled = true; }
       else
       { button1.Enabled = false; }
}
0
06.06.2015, 15:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2015, 15:12
Помогаю со студенческими работами здесь

Как написать функцию для Буттон1(Которая распол. на Form2) что бы возвращалась к Form1 от Form2
Коллеги подскажите как написать такю кнопку=)) Пробовал oid __fastcall TForm2::Button1Click(TObject...

Как с использованием кнопки (button) закрыть (скрыть) form1 и открыть form2
uses Unit1, Unit2; begin System.Windows.Forms.Application.EnableVisualStyles();...

Как запустить лайтбокс в jQuery, нажав на кнопку?
Добрый день, есть галлерея на Lightbox 3: <div id="gal-1-wrap"> <a...

Как удалить динамические кнопки нажав на другую кнопку
Не могу удалить кнопки, которые создаются в button 2 и button 3 (plusRight и plusDown). Их нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru