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

Как сделать кнопку активной?

30.01.2013, 20:38. Показов 8454. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть диалог с двумя Edit Control и одной кнопкой для выхода. Эта кнопка должна быть неактивной, а активной она становится только когда в обоих полях Edit Control будут введены одинаковые символы и их будет больше 7.
Пробовал сделать вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void CmfcappDlg::OnBnClickedCancel()
{
    UpdateData(TRUE);
    int i=0,j=0;
    for (i=0; i<strlen(m_Edit1); ++i)
    {
        j=j+1;
        
        m_Button.EnableWindow(true);
        if (m_Edit1==m_Edit2 && j>6)
        {
            CDialogEx::OnCancel();
        }
    }
}
У кнопки свойство Disabled стоит как true, а надо чтобы оно изменилось на false в определенное время. Как это можно сделать? Может есть метод какой нибудь? EnableWindow(true) не помогает в данном случае, может я его неправильно использую.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.01.2013, 20:38
Ответы с готовыми решениями:

Как сделать из TextBox кнопку?
Дело в том что хочу сделать так что б когда нажимать на текстовое поле открывалось диалоговое окно...

Как сделать собственную кнопку выхода из приложения?
скажите please как сделать собственную кнопку выхода из windows forms, как придать &quot;button&quot;...

Как сделать кнопку активной
Как сделать кнопку активной? вот код моей задуманной кнопки &lt;a href=&quot;Книга.html&quot; ...

Как сделать активной кнопку
Как сделать активной кнопку во время выполнения функции под другой кнопкой что бы можно было...

3
96 / 96 / 21
Регистрация: 25.04.2012
Сообщений: 449
30.01.2013, 20:53 2
в обработчик 2ого из Editов OnChange(действие при изменении)
C++
1
if(strnicmp(Edit1->Text,Edit2->Text,sizeof(Edit1->Text))==0) Button1->Enabled=true
Вы не указали вашу среду, так что я написал как это примерно должно быть для rad studio xe
0
0 / 0 / 1
Регистрация: 13.12.2012
Сообщений: 43
30.01.2013, 21:07  [ТС] 3
Цитата Сообщение от Tiva Посмотреть сообщение
в обработчик 2ого из Editов OnChange(действие при изменении)
C++
1
if(strnicmp(Edit1->Text,Edit2->Text,sizeof(Edit1->Text))==0) Button1->Enabled=true
Вы не указали вашу среду, так что я написал как это примерно должно быть для rad studio xe
Я работаю в Visual Studio. Вся проблема в том, что не знаю как сделать кнопку активной. Если изменить свойство Disabled на False, то программа работает, только когда там меньше 7 символов или они не совпадают в двух полях, то кнопка нажимается и ничего не происходит. Поэтому надо сделать кнопку неактивной, пока условия не будут выполнены.
Как вы написали, я не очень разобрался как это сделать.
0
96 / 96 / 21
Регистрация: 25.04.2012
Сообщений: 449
30.01.2013, 21:28 4
Цитата Сообщение от Lapidos Посмотреть сообщение
Я работаю в Visual Studio. Вся проблема в том, что не знаю как сделать кнопку активной. Если изменить свойство Disabled на False, то программа работает, только когда там меньше 7 символов или они не совпадают в двух полях, то кнопка нажимается и ничего не происходит. Поэтому надо сделать кнопку неактивной, пока условия не будут выполнены.
Как вы написали, я не очень разобрался как это сделать.
добавляем кнопку, тыкаем на конструкторе формы на неё, в свойсвах ставим Enabled=false (чтоб при запуске она была неактивна)
добавляем 2 edita (хотя у себя в vs2008 я не нашел едиты)
тыкаем по 2ому, справа будут свойства, тыкаем на кнопку, на которой нарисована молния ("события"), ищем событие OnChange или Change или ChangeValue или что-то такое, тыкаем 2 раза, сгенерируется автокод для этого события, и там пишем
C++
1
if(edit1->Text=="1234") button1->Enabled=true;
Добавлено через 6 минут
C++
1
2
3
4
    private: System::Void textBox2_TextChanged(System::Object^  sender, System::EventArgs^  e) {
                 if(textBox1->Text==textBox2->Text) button1->Enabled=true;
                 else button1->Enabled=false;
             }
вот код события
событие называется TextChanged, у меня оно было в самом низу почти
0
30.01.2013, 21:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.01.2013, 21:28
Помогаю со студенческими работами здесь

Как сделать кнопку не активной?
Создаю Визардом диалоговый проект: В окне две кнопки... нужно чтобы при нажатии на Button1...

Вопрос новичка: как программно сделать кнопку активной?
Здравствуйте, я новичок. С C++ и Visual C++ опыта работы в общем, никакого. Но срочно требуется...

Как сделать кнопку активной, после индексации файлов?
У меня есть код с индексацией(запускаю в отдельном потоке) #region Индексация ...

Как сделать кнопку активной/неактивной в зависимости от CheckBox?
Есть у меня в форме чекбокс. И если он активен, то и кнопка должна быть активна, а если нет, то и...


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

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