Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
9 / 9 / 0
Регистрация: 09.04.2022
Сообщений: 162

Неправильно работает условие с чекбоксами

29.09.2022, 18:59. Показов 530. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!

На моей форме имеется два поля textBox и 4 checkBox, во второе поле вводится текст, а в первое выводится в зависимости от выбранного стиля текста.
checkBox1 - жирный шрифт текста, checkBox2 - курсив, checkBox3 - подчеркнутый, checkBox4 - перечеркнутый.

У меня возникла следующая проблема:

Большинство прописанных мною условий с чекбоксами не срабатывают:

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
62
63
64
65
66
67
68
69
70
71
72
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
        if (textBox2->Text != "") {
            this->textBox1->Clear();
            this->textBox1->Font = (gcnew System::Drawing::Font("Arial", 14,
                System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point));
            this->textBox1->ForeColor = System::Drawing::Color::Black;
            this->textBox1->AppendText("\r\n" + this->textBox2->Text);
        }
 
 
        if (checkBox1->Checked == true && checkBox2->Checked == true 
            && checkBox3->Checked == true && checkBox4->Checked == true) {
            textBox1->Font = gcnew System::Drawing::Font("Arial", 14,
                System::Drawing::FontStyle::Bold | FontStyle::Italic | FontStyle::Underline | FontStyle::Strikeout);
        }
        if (checkBox1->Checked == true && checkBox2->Checked == true
            && checkBox3->Checked == true) {
            textBox1->Font = gcnew System::Drawing::Font("Arial", 14, 
                System::Drawing::FontStyle::Bold | FontStyle::Italic | FontStyle::Underline);
        }
        if (checkBox1->Checked == true && checkBox2->Checked == true
            && checkBox4->Checked == true) {
            textBox1->Font = gcnew System::Drawing::Font("Arial", 14,
                System::Drawing::FontStyle::Bold | FontStyle::Italic | FontStyle::Strikeout);
        }
        if (checkBox1->Checked == true && checkBox2->Checked == true) {
            textBox1->Font = gcnew System::Drawing::Font("Arial", 14, 
                System::Drawing::FontStyle::Bold | FontStyle::Italic);
        }
        if (checkBox1->Checked == true && checkBox3->Checked == true) {
            textBox1->Font = gcnew System::Drawing::Font("Arial", 14,
                System::Drawing::FontStyle::Bold | FontStyle::Underline);
        }
        if (checkBox1->Checked == true && checkBox4->Checked == true) {
            textBox1->Font = gcnew System::Drawing::Font("Arial", 14,
                System::Drawing::FontStyle::Bold | FontStyle::Strikeout);
        }
        if (checkBox2->Checked == true && checkBox3->Checked == true) {
            textBox1->Font = gcnew System::Drawing::Font("Arial", 14,
                System::Drawing::FontStyle::Italic | FontStyle::Underline);
        }
        if (checkBox2->Checked == true && checkBox3->Checked == true 
            && checkBox4->Checked == true) {
            textBox1->Font = gcnew System::Drawing::Font("Arial", 14,
                System::Drawing::FontStyle::Italic | FontStyle::Underline | FontStyle::Strikeout);
        }
        if (checkBox2->Checked == true && checkBox4->Checked == true) {
            textBox1->Font = gcnew System::Drawing::Font("Arial", 14,
                System::Drawing::FontStyle::Italic | FontStyle::Strikeout);
        }
        if (checkBox1->Checked == true && checkBox3->Checked == true 
            && checkBox4->Checked == true) {
            textBox1->Font = gcnew System::Drawing::Font("Arial", 14,
                System::Drawing::FontStyle::Bold | FontStyle::Underline | FontStyle::Strikeout);
        }
        if (checkBox1->Checked == true) {
            textBox1->Font = gcnew System::Drawing::Font("Arial", 14,
                System::Drawing::FontStyle::Bold);
        }
        else if (checkBox2->Checked == true) {
            textBox1->Font = gcnew System::Drawing::Font("Arial", 14,
                System::Drawing::FontStyle::Italic);
        }
        else if (checkBox3->Checked == true) {
            textBox1->Font = gcnew System::Drawing::Font("Arial", 14,
                System::Drawing::FontStyle::Underline);
        }
        else if (checkBox4->Checked == true) {
            textBox1->Font = gcnew System::Drawing::Font("Arial", 14,
                System::Drawing::FontStyle::Strikeout);
        }
}
Помогите, пожалуйста, разобраться
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.09.2022, 18:59
Ответы с готовыми решениями:

Условие работает неправильно
Добрый день, кто-нибудь может мне сказать почему в си условие работает не правильно в это случае (мне нужно вывести простые числа, там...

Условие работает неправильно
string getNumberEmployeeEtype(string x, int temp){ /*первым аргументом является строка должности сотрудника, вторым - номер сотрудника*/ ...

2 условие работает неправильно
#include <iostream> #include <cmath> int main(){ setlocale(LC_ALL, "Russian"); double x , y , z , e{2.7}; ...

2
2393 / 1914 / 763
Регистрация: 27.07.2012
Сообщений: 5,559
30.09.2022, 10:09
Лучший ответ Сообщение было отмечено Nazzik как решение

Решение

Цитата Сообщение от Nazzik Посмотреть сообщение
Помогите, пожалуйста, разобраться
Во-первых, в проверке условия совершенно не обязательно писать == true, так как свойство Checked само является bool.
C++
1
2
if (checkBox1->Checked) { .. }
if (checkBox2->Checked) { ... }
Во-вторых, вся эта простыня из условий совершенно не нужна. Достаточно объявить переменную типа FontStyle и в зависимости от включённых чек-боксов присвоить ей значение через операцию |=:
C++
1
2
3
4
5
6
7
8
9
10
11
FontStyle style = FontStyle::Regular;
if (checkBox1->Checked)
    style |= FontStyle::Bold;
if (checkBox2->Checked)
    style |= FontStyle::Italic;
if (checkBox3->Checked)
    style |= FontStyle::Underline;
if (checkBox4->Checked)
    style |= FontStyle::Strikeout;
 
textBox1->Font = gcnew Font("Arial", 14, style);
1
9 / 9 / 0
Регистрация: 09.04.2022
Сообщений: 162
01.10.2022, 15:10  [ТС]
John Prick, Благодарю!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.10.2022, 15:10
Помогаю со студенческими работами здесь

Неправильно работает условие проверки на PHP
Есть форма, на которой я ввожу логин/пароль и перехожу на другую страницу. Вот она (administrator.php): <? ...

Условие символьной строки, неправильно работает программа. Надо найти ошибку.
#include <stdio.h> #include <conio.h> #include <string.h> int main(void) { char *hC; int i=0, N=0; ...

Проверьте задачку по циклам, неправильно работает. [думаю что неправильно]
Спасибо что решили зайти. Задание выгладит так: http://*******/PW95p А результат выплнения: http://*******/KwhuS #include...

Неправильно работает цикл for, и функции работают неправильно
1) Неправильно работает цикл for(k=0...). Входит только 1 раз, дальше вылетает. Делал пошаговую отладку на проверку значения k. Выдаёт...

Неправильно отрабатывает условие If
Здраствуйте уважаумые программисты!! Есть такой Код : #include <vcl.h> #pragma hdrstop #include "Unit1.h" ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru