9 / 9 / 0
Регистрация: 09.04.2022
Сообщений: 162

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

29.09.2022, 18:59. Показов 534. Ответов 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 / 1920 / 763
Регистрация: 27.07.2012
Сообщений: 5,561
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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+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