Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 19.03.2019
Сообщений: 3

Нажатый Checkbox не выводит значение в Textbox

20.03.2019, 00:12. Показов 2958. Ответов 6

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые сишники. Мне нужно было написать небольшую программку, которая будет вычислять сумму, разность, произведение или частное от чисел, которые вводятся в первый и второй Textbox соответственно. Причем это все будет происходить в зависимости от того, поставлена ли галочка возле Checkbox'а, который отвечает Textbox'у, в который значение выводится. Написал, на вид все должно работать правильно. Начал тестировать, оказалось, что при нажатии 3-го Checkbox'а программа не выводит значение переменной c в 5-й TextBox, хоть и должна, благодаря наличию if'а. Со всеми работает, а с 3-м - нет. Думал над этой проблемой достаточно долго, пока в голову не пришла ни одна идея. А что вы скажете?
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
73
74
75
76
77
78
79
80
81
82
83
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApp52
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        
        private void button1_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
 
        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            double a = double.Parse(textBox1.Text);
            double b = double.Parse(textBox2.Text);
            double c;
            if (checkBox1.Checked == true)
            {
                c = a + b;
                textBox3.Text = c.ToString();
            }
            else textBox3.Text = "";
        }
 
        private void checkBox2_CheckedChanged(object sender, EventArgs e)
        {
            double a = double.Parse(textBox1.Text);
            double b = double.Parse(textBox2.Text);
            double c;
            if (checkBox2.Checked == true)
            {
                c = a - b;
                textBox4.Text = c.ToString();
            }
            else textBox4.Text = "";
        }
 
        private void checkBox3_CheckedChanged(object sender, EventArgs e)
        {
            double a = double.Parse(textBox1.Text);
            double b = double.Parse(textBox2.Text);
            double c;
            if (checkBox3.Checked == true)
            {
                c = a * b;
                textBox5.Text = c.ToString();
            }
           else textBox5.Text = "";
            
        }
 
        private void checkBox4_CheckedChanged(object sender, EventArgs e)
        {
            double a = double.Parse(textBox1.Text);
            double b = double.Parse(textBox2.Text);
            double c;
            if (checkBox4.Checked == true)
            {
                if (b == 0) textBox4.Text = "Делить на ноль нельзя";
                else
                {
                    c = a / b;
                    textBox6.Text = c.ToString();
                }
            }
            else textBox6.Text = "";
        }
    }
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.03.2019, 00:12
Ответы с готовыми решениями:

Нажатый checkbox и скрытый
Подскажите пожалуйста, как сделать нажатый определенный checkbox и скрытый в display:none.

Как запомнить нажатый checkbox?
У меня фильтр товаров в интернет магазине. Фильтр срабатывает, но все checkbox'ы обнуляютя после нажатия кнопки "найти", как...

Записать в TextBox значение отмеченного CheckBox
На форме - панели в которой динамически добавляется n textbox и n кнопок, а также есть textbox и кнопка (по клику которой, открывается...

6
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
20.03.2019, 00:28
Цитата Сообщение от AndrewSwift Посмотреть сообщение
при нажатии 3-го Checkbox'а программа не выводит значение переменной c в 5-й TextBox, хоть и должна
Проверьте, подписаны ли Вы на событие CheckedChanged у checkBox3? Сам по себе код рабочий.
Ну и пара замечаний:
Цитата Сообщение от AndrewSwift Посмотреть сообщение
C#
1
if (checkBox4.Checked == true)
Свойство Checked имеет тип bool и сравнивание с true здесь избыточное.
Цитата Сообщение от AndrewSwift Посмотреть сообщение
C#
1
if (b == 0) textBox4.Text = "Делить на ноль нельзя";
Вообще то можно. Можете в этом убедиться, убрав это условие. Делить на ноль нельзя при целочисленном делении. У Вас же операнды имеют тип double. Следовательно, результатом деления на ноль будет +-бесконечность
0
0 / 0 / 0
Регистрация: 19.03.2019
Сообщений: 3
20.03.2019, 00:49  [ТС]
Простите, а что означает "быть подписанным на событие"? Понимаете, я C# изучаю только 3 месяц, и не знаю многих терминов в программировании.
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
20.03.2019, 01:21
Лучший ответ Сообщение было отмечено AndrewSwift как решение

Решение

Цитата Сообщение от AndrewSwift Посмотреть сообщение
что означает "быть подписанным на событие"?
Откройте Вашу форму в режиме дизайнера, выделите checkBox3, затем в окне свойств переключитесь на вкладку "события", найдите там строку с названием CheckedChanged и посмотрите не пустое ли значение напротив этого названия. Если пустое, то выберите в выпадающем списке обработчик checkBox3_CheckedChanged

Добавлено через 3 минуты
Цитата Сообщение от AndrewSwift Посмотреть сообщение
Понимаете, я C# изучаю только 3 месяц, и не знаю многих терминов в программировании.
А вообще, по хорошему, с основ нужно и начинать изучение. Вы понимаете, что не зная элементарных вещей, действия, которые можно выполнить за несколько секунд, Вы будете делать часами? Поэтому, настоятельно советую взять в руки учебник и прочитать от корки до корки и только потом браться за написание чего-либо (задания по пройденному материалу в учебнике не в счет. их можно и нужно выполнять)
0
228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
20.03.2019, 01:24
AndrewSwift, обработчик события checkBox3_CheckedChanged связан с самим чекбоксом?
0
0 / 0 / 0
Регистрация: 19.03.2019
Сообщений: 3
20.03.2019, 02:17  [ТС]
Цитата Сообщение от asn31337 Посмотреть сообщение
Откройте Вашу форму в режиме дизайнера, выделите checkBox3, затем в окне свойств переключитесь на вкладку "события", найдите там строку с названием CheckedChanged и посмотрите не пустое ли значение напротив этого названия. Если пустое, то выберите в выпадающем списке обработчик checkBox3_CheckedChanged

Добавлено через 3 минуты

А вообще, по хорошему, с основ нужно и начинать изучение. Вы понимаете, что не зная элементарных вещей, действия, которые можно выполнить за несколько секунд, Вы будете делать часами? Поэтому, настоятельно советую взять в руки учебник и прочитать от корки до корки и только потом браться за написание чего-либо (задания по пройденному материалу в учебнике не в счет. их можно и нужно выполнять)
1) Сделал, как Вы сказали, помогло. Спасибо большое.

2) Дело в том, что я поступаю в учебное заведение, в котором информатика - один из трех основных предметов. И мы в этом году начали учить C#, как первый язык программирования. Основы, которые идут до Checkbox'ов, я знаю и так, т.к. уже проходил. Учебник тоже читал. Насчет "быть подписанным на событие" - это выражение я уже однажды слышал, но как-либо использовать его мне не приходилось, да и необходимость в его понимании не возникала.
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
20.03.2019, 04:55
Цитата Сообщение от AndrewSwift Посмотреть сообщение
Сделал, как Вы сказали, помогло.
Ну и отлично!
Цитата Сообщение от AndrewSwift Посмотреть сообщение
Спасибо большое.
На здоровье!
Цитата Сообщение от AndrewSwift Посмотреть сообщение
Насчет "быть подписанным на событие" - это выражение я уже однажды слышал, но как-либо использовать его мне не приходилось, да и необходимость в его понимании не возникала.
Так в этом и есть смысл обучения - узнать о чем-либо до того момента когда придется это использовать. Вы удивитесь, когда узнаете сколько еще вещей есть, необходимости использования которых у Вас пока еще не возникала. ))) Понятное дело, начинающему программисту узнать все сразу просто нереально. Но основы, такие как события, нужно знать и понимать!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.03.2019, 04:55
Помогаю со студенческими работами здесь

Нужно, чтобы при checkbox.checked=true я мог набирать текст в textbox-е, ну и соответственно при checkbox.checked=false - нет.
есть checkbox и textbox. Нужно, чтобы при checkbox.checked=true я мог набирать текст в textbox-е, ну и соответственно при...

Изменять значение в одном TextBox-e изменяя значение в другом TextBox-e
Дорого времени стуок. Написал небольшую прогу, но на последнем этапе возникли небольшие загвоздки. Вот сама прога: Option Explicit ...

Excel VB TextBox? CheckBox?
TextBox Хочу чтобы после занесения в TextBox любого слова и нажатия кнопки ОК текст который я набрал в TextBoxЕ разносился по Лист3,...

Присвоить CheckBox к TextBox
Вообщем вопрос таков, имеются 11 checkbox и 11 textbox в каждый textbox необходимо ввести число, и в итоге все эти числа нужно сложить и...

Вывод значений checkBox в textBox
Добрый день. Имеется форма с checkBox и textBox. Задача: вывести значения отмеченные в checkBox на textBox. Может быть отмечено...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru