Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
#MRoose
7 / 8 / 3
Регистрация: 22.02.2013
Сообщений: 416
1

Как изменить свойство Visible/Enable у кнопки на форме по команде из UserControl и почему не срабатывает логическое И?

18.03.2019, 22:58. Показов 1533. Ответов 2
Метки нет (Все метки)

Всем привет.
Вроде уже не нуб в шарпе, но тут с элементарным запарился. Вопросов 2 :

1. Есть форма, кот-я работает с одной БД.
На ней 4 кнопки - подключиться/считать всю БД в dataGirdView(button1), добавить строку в БД, удалить строку и обновить параметры строки.

Для каждой кнопки выходит свой UserControl.
Логично - при нажатии на одну из 3х кнопок - скрываю все 3.
Когда UserControl сделает свое дело/пользователь нажмет отмену - контрол удаляется так :
C#
1
2
Controls.Remove(this);
Dispose();
Хочу чтобы он и 3 скрытые кнопки показал после своего ухода, но фигушки мне.

То кнопку на форме сделал публичной и пытался показать ее из кода контрола так
C#
1
new admin_panel().btAdd.Visible = true;
, то сделал публичный метод в коде формы с такой же функцией, то в этом публичном методе сделал вызов
C#
1
button1.PerformClick()
- полный игнор свойств и Visible, и Enable.

Самое интересное -
C#
1
buton1.PerformClick()
выполняет нажатие реальной кнопки button1.
Если нажать на эту кнопку на форме - она выполняет то, что расписано в ее обработчике, то есть меняет свойства трех кнопок.

Я уже не представляю в чем тут может быть дело


2. Есть условие на внесение строки в мою крошечную БД - если все 4 поля (значения для 4 столбцов) заполнены - отправляю в БД, если нет - сообщаю с помощью MessageBox.
Но логическое И тоже игнорится.
Вот код :
Кликните здесь для просмотра всего текста
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
private void btAdd_Click(object sender, EventArgs e)
        {
            if (textBox1.Text != null && textBox2.Text != null && comboBox1.Text != null && textBox3.Text != null)
            {
                if (File.Exists(wh.fe_transfer))
                {
                    try
                    {
                        ex.sqlite_non(wh.cs_transfer, "INSERT INTO table ('gp_id', 'otdel', 'role', 'nick') VALUES ('" + textBox1.Text + "', '" + textBox2.Text + "', '" + comboBox1.Text + "', '" + textBox3.Text + "')");
                        new admin_panel().EnableBt();
                        Controls.Remove(this);
                        Dispose();
                    }
                    catch
                    {
                        MessageBox.Show("Не удалось добавить отдел(");
                        new admin_panel().EnableBt();
                        Controls.Remove(this);
                        Dispose();
                    }
                }
                else
                {
                    MessageBox.Show("Файл transfer.db не найден!");
                    new admin_panel().EnableBt();
                    Controls.Remove(this);
                    Dispose();
                }
            }
            else MessageBox.Show("Заполнены не все поля!");


Специально нажимаю на [отправить в БД] при пустых textBox-ах и выходит ошибка "Файл transfer.db не найден!"

Ребят, я ору просто от результатов. Надеюсь подскажите)
Если что - ПК перезагружал, тоже самое.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2019, 22:58
Ответы с готовыми решениями:

Как из ViewModel UserControl'a изменить свойство в ViewModel главного окна?
Недавно начал попытки создавать приложение WPF с применением MVVM, и у меня возник вопрос, который...

Visible и Enable в WPF
Переписываю программу с винформы на WPF и споткнулся там, где казалось бы все должно быть понятно....

Как изменить свойство Location у кнопки
Следующий код не срабатывает: button2.Location.X = 55; Как писать?

Не срабатывает свойство MinButton/MaxButton на форме
Добрый день! Имеется необходимость оставить на форме кнопки свернуть/развернуть, но сделать...


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

Или воспользуйтесь поиском по форуму:
2
227 / 164 / 110
Регистрация: 09.11.2015
Сообщений: 454
18.03.2019, 23:13 2
Лучший ответ Сообщение было отмечено MIRAMIX как решение

Решение

MIRAMIX, 2. Свойство Text пустого текстбокса есть "", а не null
C#
1
if (textBox1.Text != "" && textBox2.Text != "" && comboBox1.Text != "" && textBox3.Text != "")
Добавлено через 2 минуты
Не заметил, что есть ComboBox. Тогда
C#
1
comboBox1.SelectedIndex != -1
1
#MRoose
7 / 8 / 3
Регистрация: 22.02.2013
Сообщений: 416
19.03.2019, 12:13  [ТС] 3
Ellizio, Не ожидал))
Спасибо, помогло.

Теперь бы еще с контролами понять...
0
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.