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

Сохранение выделенных checkBox и radioButton в txt

07.01.2013, 10:58. Показов 5659. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. У меня возникли 2 вопроса, у меня есть программа и в программе есть checkBox и radioButton как мне сохранить в txt файл информацию только выделенных кнопок. Например если у меня выбор ваш пол: мужской, женский и я поставил мужской то как мне вывести только мужской пол ответ. Тоже самое и с radioButton. Заранее спасибо за помощь.
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
 
namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            StreamWriter sw = new StreamWriter("test.txt");
            sw.WriteLine(textBox1.Text);
            sw.WriteLine(textBox2.Text);
            sw.Close();
        }
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
 
        }
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
 
        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
 
        }
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
 
        }
        private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {
 
        }
        private void groupBox2_Enter(object sender, EventArgs e)
        {
 
        }
        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
 
        }
        private void checkBox2_CheckedChanged(object sender, EventArgs e)
        {
 
        }
        private void checkBox3_CheckedChanged(object sender, EventArgs e)
        {
 
        }
        private void checkBox4_CheckedChanged(object sender, EventArgs e)
        {
 
        }
        private void checkBox5_CheckedChanged(object sender, EventArgs e)
        {
        } 
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.01.2013, 10:58
Ответы с готовыми решениями:

RadioButton + CheckBox
на форме в процессе выполнения проги появляется несколько контролов (пользователь сам задает число таковых) это все легко, но затык в том...

List + CheckBox + RadioButton
Надо организовать список, в котором в строчке присутсвует CheckBox, RadioButton и надпись. Как это сделать?

Взаимодействие с CheckBox и RadioButton
Подскажите, как сделать чтобы при активации CheckBox или RadioButton соответствующее значение выводилось в label? CheckBox1 = 142 ...

31
21 / 21 / 1
Регистрация: 26.03.2012
Сообщений: 157
07.01.2013, 11:15
Попробуй вот так:
C#
1
2
3
4
5
6
StreamWriter sr;
 
            sr = new StreamWriter(Application.StartupPath + "\\pol.txt");
                   
            sr.WriteLine("Мужской");
            sr.Dispose();
только в каждой кнопке пропиши что тебе нужно
0
0 / 0 / 1
Регистрация: 21.02.2012
Сообщений: 52
07.01.2013, 11:45  [ТС]
А если у меня точка не женский пол выбрана то что тогда?

Добавлено через 5 минут
Может тут с true and folse нужно? Только как это реализовать.
0
21 / 21 / 1
Регистрация: 26.03.2012
Сообщений: 157
07.01.2013, 12:13
можешь сделать вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if(radioButton1.Cheked == true)
 {StreamWriter sr;
 
            sr = new StreamWriter(Application.StartupPath + "\\pol.txt");
                   
            sr.WriteLine("Мужской");
            sr.Dispose();}
 
else if (radioButton2.Cheked == true)
 {StreamWriter sr;
 
            sr = new StreamWriter(Application.StartupPath + "\\pol.txt");
                   
            sr.WriteLine("Женский");
            sr.Dispose();}
1
0 / 0 / 1
Регистрация: 21.02.2012
Сообщений: 52
07.01.2013, 13:09  [ТС]
Почему у меня отказывается сохранять в файл когда я написал так
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            StreamWriter sw = new StreamWriter(Application.StartupPath + "\\test.txt");
            sw.WriteLine(textBox1.Text);
            sw.WriteLine(textBox2.Text);
            if (checkBox1.Checked == true)
            {
                sw.WriteLine("12");
                sw.Dispose();
            }
            if (checkBox1.Checked == true)
            {
                sw.WriteLine(checkBox1.Text);
                sw.Dispose();
            }
            if (checkBox2.Checked == true)
            {
                sw.WriteLine("a");
                sw.Dispose();
            }
            if (checkBox3.Checked == true)
            {
                sw.WriteLine("b");
                sw.Dispose();
            }
            if (checkBox4.Checked == true)
            {
                sw.WriteLine("c");
                sw.Dispose();
            }
            if (checkBox5.Checked == true)
            {
                sw.WriteLine("d");
                sw.Dispose();
            }
        }
 
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
 
        }
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
        }
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
        }
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
 
        }
        private void groupBox1_Enter(object sender, EventArgs e)
        {
 
        }
        private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {
        }
        private void groupBox2_Enter(object sender, EventArgs e)
        {
 
        }
 
        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
        }
        private void checkBox2_CheckedChanged(object sender, EventArgs e)
        {
 
        }
        private void checkBox3_CheckedChanged(object sender, EventArgs e)
        {
 
        }
 
        private void checkBox4_CheckedChanged(object sender, EventArgs e)
        {
 
        }
 
        private void checkBox5_CheckedChanged(object sender, EventArgs e)
        {
        }
    }
}
0
21 / 21 / 1
Регистрация: 26.03.2012
Сообщений: 157
07.01.2013, 13:17
в смысле отказывает?? ошибку выдает или что?

Добавлено через 4 минуты
В файле все сохраняет!!! а что вы хотите в textbox сохранить?? в данном коде он всегда пуст будет)

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
 private void button1_Click(object sender, EventArgs e)
        {
            StreamWriter sw = new StreamWriter(Application.StartupPath + "\\test.txt");
            sw.WriteLine(textBox1.Text);
            sw.WriteLine(textBox2.Text);
            if (checkBox1.Checked == true)
            {
                sw.WriteLine("12");
                sw.Dispose();
            }
 
            if (checkBox2.Checked == true)
            {
                sw.WriteLine("a");
                sw.Dispose();
            }
            if (checkBox3.Checked == true)
            {
                sw.WriteLine("b");
                sw.Dispose();
            }
            if (checkBox4.Checked == true)
            {
                sw.WriteLine("c");
                sw.Dispose();
            }
        }
0
0 / 0 / 1
Регистрация: 21.02.2012
Сообщений: 52
07.01.2013, 13:58  [ТС]
Когда у меня в коде только 1 допустим это
C#
1
2
3
4
5
if (checkBox1.Checked == true)
            {
                sw.WriteLine("12");
                sw.Dispose();
            }
то сохраняет все хорошо, но если у меня уже несколько
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
            if (checkBox1.Checked == true)
            {
                sw.WriteLine("12");
                sw.Dispose();
            }
 
            if (checkBox2.Checked == true)
            {
                sw.WriteLine("a");
                sw.Dispose();
            }
            if (checkBox3.Checked == true)
            {
                sw.WriteLine("b");
                sw.Dispose();
            }
            if (checkBox4.Checked == true)
            {
                sw.WriteLine("c");
                sw.Dispose();
            }
        }
то сохранять не хочет.
https://www.cyberforum.ru/atta... 1357552683
Миниатюры
Сохранение выделенных checkBox и radioButton в txt  
0
21 / 21 / 1
Регистрация: 26.03.2012
Сообщений: 157
07.01.2013, 14:04
а все понятно)) потому что когда выделено несколько checkboxов то он пытается сохранить их в один файл и в одну строку.. попытайтесь сохроанять все в разные файлы или вам нужно все в один файл?
1
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
07.01.2013, 14:42
108, Строка
C#
1
sw.Dispose()
уничтожает объект StreamWriter. Использование несуществующих или уничтоженных объектов ведет к тем исчключениям, которые вы увидели в своей программе. Не уничтожайте объект до тех пор, пока вы его используете. Можете в принципе не уничтожать объекты, а оставить их на съедение хваленого сборщика мусора.
1
0 / 0 / 1
Регистрация: 21.02.2012
Сообщений: 52
07.01.2013, 16:47  [ТС]
Спасибо за помощь помогло.
Подскажите пожалуйста как написать проверну в введенные данные, чтобы в моб. тел. нельзя была ввести буквы только цифры.
0
21 / 21 / 1
Регистрация: 26.03.2012
Сообщений: 157
07.01.2013, 16:50
Думаю, что кроме цифр еще кое-какие кнопки понадобятся:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        //нажатие клавиши в поле реддактирования
        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar >= '0') &
                (e.KeyChar <= '9'))
                return;
            if (Char.IsControl(e.KeyChar))
            {
                //<enter>, <backspace>, <esс>
                if (e.KeyChar == (char)Keys.Enter)
                    //Установим курсор на кнопку добавить
                    button1.Focus();
                return;
            }
            //запрещены остальные символы
            e.Handled = true;
        }
1
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
07.01.2013, 16:52
108, используйте MaskedTextBox. Думаю, что с тем, как им пользоваться, вы сами разберетесь.
0
0 / 0 / 1
Регистрация: 21.02.2012
Сообщений: 52
07.01.2013, 17:01  [ТС]
Объясните как пользоваться KeyPress. Как для чайника как и что куда писать.
C#
1
2
3
4
5
6
7
8
private void txtPIN_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
 {
    if (!char.IsDigit(e.KeyChar) )
    {
        e.Handled = true;
        lbloutput.Text ="Поле PIN не может содержать буквы";
    }
      }
Добавлено через 5 минут
Что c здесь дописать чтобы работал KeyPress
C#
1
2
3
4
5
6
7
8
 // textBox4
            // 
            this.textBox4.Location = new System.Drawing.Point(230, 282);
            this.textBox4.Name = "textBox4";
            this.textBox4.Size = new System.Drawing.Size(303, 20);
            this.textBox4.TabIndex = 13;
            this.textBox4.TextChanged += new System.EventHandler(this.textBox4_TextChanged);
            //
ошибка CS1061: "WindowsFormsApplication1.Form1" не содержит определения для "textBox4_TextChanged" и не был найден метод расширения "textBox4_TextChanged", принимающий тип "WindowsFormsApplication1.Form1" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)
0
21 / 21 / 1
Регистрация: 26.03.2012
Сообщений: 157
07.01.2013, 17:04
зачем тебе лишние слова??
C#
1
 lbloutput.Text ="Поле PIN не может содержать буквы";
Сделай так и он только цифры сможет вводить) а про KeyPress можешь прочитать здеся
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 if ((e.KeyChar >= '0') &
                (e.KeyChar <= '9'))
                return;
            if (Char.IsControl(e.KeyChar))
            {
                //<enter>, <backspace>, <esс>
                if (e.KeyChar == (char)Keys.Enter)
                    //Установим курсор на кнопку добавить
                    button1.Focus();
                return;
            }
            //запрещены остальные символы
            e.Handled = true;
        }
Добавлено через 2 минуты
Цитата Сообщение от 108 Посмотреть сообщение
то c здесь дописать чтобы работал KeyPress

* * * * * *
C#
1
2
3
4
5
 this.textBox4.Location = new System.Drawing.Point(230, 282);
* * * * * * this.textBox4.Name = "textBox4";
* * * * * * this.textBox4.Size = new System.Drawing.Size(303, 20);
* * * * * * this.textBox4.TabIndex = 13;
* * * * * * this.textBox4.TextChanged += new System.EventHandler(this.textBox4_TextChanged);
* * * * * * //
что ты хочешь этим сделать?? объясни а то не совсем понятно что ты хочешь keypressom сделать?)
1
0 / 0 / 1
Регистрация: 21.02.2012
Сообщений: 52
07.01.2013, 17:18  [ТС]
Я в свой код вставляю
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void textBox4_textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar >= '0') &
                 (e.KeyChar <= '9'))
                return;
            if (Char.IsControl(e.KeyChar))
            {
                //<enter>, <backspace>, <esс>
                if (e.KeyChar == (char)Keys.Enter)
                    //Установим курсор на кнопку добавить
                    button1.Focus();
                return;
            }
            //запрещены остальные символы
            e.Handled = true;
        }
Как писали выше. И у меня выдает ошибка CS1061: "WindowsFormsApplication1.Form1" не содержит определения для "textBox4_TextChanged" и не был найден метод расширения "textBox4_TextChanged", принимающий тип "WindowsFormsApplication1.Form1" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)
0
21 / 21 / 1
Регистрация: 26.03.2012
Сообщений: 157
07.01.2013, 17:22
а что это вообще??
C#
1
textBox4_textBox1_KeyPress
так нельзя делать) можешь скинуть проект свой.. я попробую все исправить
0
0 / 0 / 1
Регистрация: 21.02.2012
Сообщений: 52
07.01.2013, 17:26  [ТС]
private void textBox4_KeyPress(object sender, KeyPressEventArgs e) исправил все ровно неработает
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
07.01.2013, 17:31
Ошибка вполне информативная. Ваша форма не содержит метода TextBox4_TextChanged. Зачем вы его пытаетесь добавить в этой строке
C#
1
this.textBox4.TextChanged += new System.EventHandler(this.textBox4_TextChanged);
тоже не совсем понятно, ибо вы пытаетесь работать с обытием KeyPress, а не с событием TextChanged. Удалив эту строку, вы устраните вашу ошибку.
PS: Повторю еще раз, если ваша цель, ввод корректного номера мобильного телефона, то используйте maskedTextBox.

Добавлено через 2 минуты
Цитата Сообщение от Aleks Nice Посмотреть сообщение
так нельзя делать)
Почему нельзя? Я неувидил ни чего недопустимого в названии этого метода. Другое дело, что человек сам себя уже запытывать стал, но, по крайней мере, так делать никто не запрещается.
1
21 / 21 / 1
Регистрация: 26.03.2012
Сообщений: 157
07.01.2013, 17:53
щелкни на ошибку, куда она тебя ведет???
0
0 / 0 / 1
Регистрация: 21.02.2012
Сообщений: 52
07.01.2013, 17:55  [ТС]
Aleks Nice, отправил проект в лс
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.01.2013, 17:55
Помогаю со студенческими работами здесь

Изменить стандартный вид checkbox и radiobutton
Как поменять изображение в checkbox и/или radiobutton, или хотя бы изменить их размер?

UserControl vs CheckBox or RadioButton Win Form
Помогите в следующем вопросе. Из Json/Xml Извлекаются данные, в виде вопрос и варианты ответа. Как можно, в зависимости от того -...

Как записать в реестр через RadioButton и CheckBox?
Всем доброго времени суток. Давно лежит проект, но в силу своего незнания, руки доходят редко. По этому прошу помощи у Знатоков) В чем...

Размер CheckBox и RadioButton (самого квадратика и кружочка)
Добрый День! Как при проектировании в дизайнере, или при выполнении программы изменить размер checkBox и RadioButton? Меня интересуют...

Реализация ComboBox в ячейке DataGridView с элементами CheckBox и RadioButton
Добрый день. Помогите, пожалуйста, разобраться в решении следующей задачи. Таблица DataGridView заполняется циклически, одновременно...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru