Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/48: Рейтинг темы: голосов - 48, средняя оценка - 4.98
-6 / 2 / 1
Регистрация: 14.08.2013
Сообщений: 80

Как объединить два условия?

04.03.2014, 19:50. Показов 9564. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
        private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
        {
            TextBox box = sender as TextBox;
            this.SendButton.IsEnabled = box.Text.Length > 0;
        }
 
 
 
        private void PasswordBox_PasswordChanged(object sender, RoutedEventArgs e)
        {
            PasswordBox box = sender as PasswordBox;
            this.SendButton.IsEnabled = box.Password.Length > 0;
        }
Чтобы выполнялось сразу два условия одновременно? а то они выполняются по раздельности =) Например если я введу логин то кнопка активна, и пароль тоже введу отдельно кнопка активна, а как сделать так, чтобы кнопка была активна если заполнено два поле а не только одно? Как это возможно объединить в 1 private void?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.03.2014, 19:50
Ответы с готовыми решениями:

Как объединить два условия с вызовом IndexOf?
У меня есть 4 условия: if (a.IndexOf("@") > -1) { } else { ...

Как объединить 2 условия
1 условие записывает значение в text записано слово name for (int i = 0; i < text.Length; i++) { if (znachenie...

Как объединить два объекта?
Доброго времени суток! Программа представляет собою стек, куда записываются вагоны и они сортируются по типам А и Б. Нужно два...

10
 Аватар для kesean
292 / 291 / 108
Регистрация: 04.09.2010
Сообщений: 638
04.03.2014, 19:58
Оператор &&
0
 Аватар для Серж_87
1303 / 509 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
04.03.2014, 23:33
FROSTITAN,
в одну процедуру поместите и все.
В самом конце свойство на кнопу наложите, которое сделает ее активной
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
04.03.2014, 23:46
FROSTITAN, как выше уже сказали, назначьте один обработчик для обеих кнопок и все.
0
 Аватар для pokerface
209 / 174 / 48
Регистрация: 20.09.2012
Сообщений: 481
04.03.2014, 23:56
C#
1
2
3
4
if(textBox1.Text!=null && passwordBox1!=null)
{
 this.SendButton.IsEnabled = true;
}
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
04.03.2014, 23:57
pokerface, да зачем. Еще раз: 1 обработчик на оба текстбокса - проблема решена, даже переписывать ничего не надо.
0
 Аватар для pokerface
209 / 174 / 48
Регистрация: 20.09.2012
Сообщений: 481
05.03.2014, 00:08
Psilon, конечно можно) но это просто ещё один вариант решения задачи)
0
-6 / 2 / 1
Регистрация: 14.08.2013
Сообщений: 80
05.03.2014, 01:38  [ТС]
Ошибка 1 Ни одна перегрузка для "TextBox_TextChanged" не соответствует делегированному "System.Windows.RoutedEventHandler"

C#
1
2
3
4
5
6
7
        private void TextBox_TextChanged(object sender, TextChangedEventArgs e) 
        {
            if(login_txt.Text!=null && password_txt!=null)
           { 
              this.SendButton.IsEnabled = true;
           }
        }
XML
1
2
3
4
5
6
7
8
            <StackPanel VerticalAlignment="Center" Grid.Row="3" AllowDrop="True">
                <TextBox Name="login_txt" Height="35" Width="305" Margin="10" 
                         HorizontalAlignment="Center" TextWrapping="Wrap" VerticalAlignment="Top"
                         Foreground="#d0d0d0" TextChanged="TextBox_TextChanged"/>
                <PasswordBox Name="password_txt" Height="35" Width="305" 
                         HorizontalAlignment="Center" VerticalAlignment="Top"
                         Foreground="#d0d0d0" PasswordChanged="TextBox_TextChanged"/>
            </StackPanel>
Так выдаёт ошибку;
А так нет но работают отдельно:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
        private void TextBox_TextChanged(object sender, TextChangedEventArgs e) 
        {
            TextBox box = sender as TextBox;
            this.SendButton.IsEnabled = box.Text.Length > 0;
        }
 
 
 
        private void PasswordBox_PasswordChanged(object sender, RoutedEventArgs e)
        {
            PasswordBox box = sender as PasswordBox;
            this.SendButton.IsEnabled = box.Password.Length > 0;
        }
XML
1
2
3
4
5
6
7
8
            <StackPanel VerticalAlignment="Center" Grid.Row="3" AllowDrop="True">
                <TextBox Name="login_txt" Height="35" Width="305" Margin="10" 
                         HorizontalAlignment="Center" TextWrapping="Wrap" VerticalAlignment="Top"
                         Foreground="#d0d0d0" TextChanged="TextBox_TextChanged"/>
                <PasswordBox Name="password_txt" Height="35" Width="305" 
                         HorizontalAlignment="Center" VerticalAlignment="Top"
                         Foreground="#d0d0d0" PasswordChanged="PasswordBox_PasswordChanged"/>
            </StackPanel>
Поправьте просто чтобы работало, оно работает в раздельности, а должно вместе =)
0
 Аватар для pokerface
209 / 174 / 48
Регистрация: 20.09.2012
Сообщений: 481
05.03.2014, 01:58
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public Form1()
        {
            InitializeComponent();
            textBox1.TextChanged += new System.EventHandler(textBox1_TextChanged);
            textBox2.TextChanged += new System.EventHandler(textBox1_TextChanged); 
        }
.......
private void textBox1_TextChanged(object sender, EventArgs e)
        {
            if (textBox1.Text != string.Empty && textBox2.Text != string.Empty)
            {
                button11.Enabled = true;
            }
            else
            {
                button11.Enabled = false;
            }
        }
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
05.03.2014, 02:06
Лучший ответ Сообщение было отмечено FROSTITAN как решение

Решение

pokerface, это не формы.

FROSTITAN, в принципе можно было бы написать для них один обработчик, но тут уж действительно проще написать 2 разных, а в них:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
bool HasLoginPassword
{
   get { return login_txt.Text.Length > 0 && password_txt.Password.Length > 0; }
}
 
        private void TextBox_TextChanged(object sender, TextChangedEventArgs e) 
        {
           SendButton.IsEnabled = HasLoginPassword;
        }
 
 
 
        private void PasswordBox_PasswordChanged(object sender, RoutedEventArgs e)
        {
           SendButton.IsEnabled = HasLoginPassword;
        }
1
-6 / 2 / 1
Регистрация: 14.08.2013
Сообщений: 80
05.03.2014, 02:22  [ТС]
Psilon, Огромное вам спасибо, всё работает на ура =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.03.2014, 02:22
Помогаю со студенческими работами здесь

Как объединить два проекта
У меня есть два проекта: Заполнение анкеты и основная программа. При выборе определенного пункта меню в основной программе нужно чтобы...

Как объединить два отсортированных массива?
int MyArr1 = new int; int MyArr2 = new int; for (int i = 0; i &lt; length; i++) { ...

Как объединить два числа в одно?
К примеру есть числа 123 и 456, Как объединить эти два числа чтобы на выходе получить одно число 123456.

Как использовать два условия в конструкции if?
Подскажите, возможно ли в цикле if использовать два condition'a. Что то вроде: bool condition = true; bool condition1 = true; ...

Как выполнить два условия в C#?
Как сделать так чтобы скрипт срабатывал если верны два условия? if ( первое условие &amp;&amp; и здесь мне нужно проверять текст, но я...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru