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

Нужно записать более коротко код, textBox

11.05.2017, 12:44. Показов 1221. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите сжать данный код:
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
String a, b, c, d, f, g, h, S;
            a = textBox1.Text;
            b = textBox2.Text;
            c = textBox3.Text;
            d = textBox4.Text;
            f = textBox5.Text;
            g = textBox6.Text;
            h = textBox7.Text;
            
                FileInfo file = new FileInfo(@"C:\Users\Public\IS\Atele\BulletSpace.txt");
                StreamWriter write_text;
                file.Create().Close();
                write_text = file.AppendText();
 
                write_text.WriteLine(a); write_text.WriteLine(b);
                write_text.WriteLine(c); write_text.WriteLine(d);
                write_text.WriteLine(f); write_text.WriteLine(g);
                write_text.WriteLine(h);
 
                write_text.Close();
                MessageBox.Show("Текст записан в файл");
                    
                  textBox1.Clear(); textBox2.Clear(); textBox3.Clear();
                    textBox4.Clear(); textBox5.Clear(); textBox6.Clear(); textBox7.Clear();
Сократить нужно конкретно эти места:
C#
1
2
3
4
write_text.WriteLine(a); write_text.WriteLine(b);
write_text.WriteLine(c); write_text.WriteLine(d);
write_text.WriteLine(f); write_text.WriteLine(g);
write_text.WriteLine(h);
C#
1
2
textBox1.Clear(); textBox2.Clear(); textBox3.Clear();
textBox4.Clear(); textBox5.Clear(); textBox6.Clear(); textBox7.Clear();
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.05.2017, 12:44
Ответы с готовыми решениями:

Как коротко записать массив в таблицу?
Массив из 25 элементов: E F F# G G# A A# B C C# D D# E F F# G G# A A# B C C# D D# E Нужно для каждого столбца первой строки записать...

Как записать цикл коротко, с помощью рекурсии
Всем привет. Если честно, хотел сам решить данную задачу, но вот уже второй день ничего не выходит, а дедлайн поджимает. Поэтому прошу...

Более кратко записать (переделать) код
Здравствуйте! Узнал что функцию printf() можно использовать для вывода ведущих символов, но не могу грамотно собрать программу. То есть,...

5
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18259 / 14184 / 5366
Регистрация: 17.03.2014
Сообщений: 28,870
Записей в блоге: 1
11.05.2017, 13:02
azat567567, используй массив для хранения значений вместо отдельных переменных и один из приемов который тебе продемонстрировали в теме Нужно кратко записать код, LinkLabel
0
1 / 1 / 1
Регистрация: 14.10.2016
Сообщений: 64
11.05.2017, 16:19  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
один из приемов который тебе продеменстрировали в теме Нужно кратко записать код, LinkLabel
Пробовал с очисткой текстбоксов тем, что ты продемонстрировал:
C#
1
2
3
4
5
for (int i = 1; i <= 7; i++)
{
var textBox = Controls["textBox"+i];
textBox.Clear();
}
так сразу же ошибка: Ошибка 2 "System.Windows.Forms.Control" не содержит определения для "Clear" и не был найден метод расширения "Clear", принимающий тип "System.Windows.Forms.Control" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку) C:\Users\User\Documents\Visual Studio 2010\Projects\Informatios Systems\Informatios Systems\Atel.cs 64 25 Informatios Systems

Пробовал так:
C#
1
2
3
4
5
                for (int i = 1; i <= 7; i++)
            {
                var textBox = Convert.ToString(Controls["textBox" + i + ".Text"]);
                textBox = "";
            }
тут вообще ноль реакции, как будто и не было никакого кода..
Потом проовал так:
C#
1
2
3
4
5
for (int i = 1; i <= 7; i++)
{
var textBox = Controls["textBox" + i];
textBox.Text = "";
}
так выходит ошибка: Ссылка на объект не указывает на экземпляр объекта.

ПОсле всего этого решил пойти приёмом другого подсказщика:
1) Но на это:
C#
1
2
3
4
this.Controls.OfType<TextBox>().ToList().ForEach(tb =>
                        {
                            tb.Clear();
                        });
2) И на это ноль реакции:
C#
1
2
3
4
this.Controls.OfType<TextBox>().ToList().ForEach(tb =>
                        {
                            tb.Text = "";
                        });
Добавлено через 3 минуты
Цитата Сообщение от OwenGlendower Посмотреть сообщение
используй массив для хранения значений вместо отдельных переменных
а тут я совсем не разобрался как это делать
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
11.05.2017, 16:35
Лучший ответ Сообщение было отмечено azat567567 как решение

Решение

C#
1
2
3
4
5
6
7
8
9
TextBox[] tbs = new TextBox[] { textBox1, textBox2, textBox3, textBox4, textBox5, textBox6, textBox7 };
using (StreamWriter sw = new StreamWriter(@"C:\Users\Public\IS\Atele\BulletSpace.txt", true))
{
    for (int i = 0; i < tbs.Length; i++)
    {
        sw.WriteLine(tbs[i].Text);
        tbs[i].Clear();
    }
}
1
1 / 1 / 1
Регистрация: 14.10.2016
Сообщений: 64
11.05.2017, 16:43  [ТС]
Цитата Сообщение от Someone007 Посмотреть сообщение
C#
Вот оно, решение всех моих проблем
0
1 / 1 / 1
Регистрация: 14.10.2016
Сообщений: 64
12.05.2017, 20:43  [ТС]
Цитата Сообщение от Someone007 Посмотреть сообщение
TextBox[] tbs = new TextBox[] { textBox1, textBox2, textBox3, textBox4, textBox5, textBox6, textBox7 };
А можно сделать так, чтобы он выбрал все элементы textBox, а не только те, которые вписываешь сам?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.05.2017, 20:43
Помогаю со студенческими работами здесь

Как написать этот код коротко?
&lt;form name=&quot;form1&quot; method=&quot;post&quot; action=&quot;add_meropri.php&quot; id=&quot;my_form&quot;&gt; &lt;table border=&quot;0&quot; class=&quot;tableAdd&quot; id=&quot;next_table&quot;&gt; &lt;tr&gt; ...

Как можно записать код в более компактном виде?
Вывести столбиком след. числа 3,2, 3,2, 3,3, 3,3,........3,9 у меня вышло довольно размазан: #include &quot;iostream&quot; #include...

Нужно более подробно описать код факториала
include irvine32.include .code main PROC push 12 ; вычислим 12! call Factorial ReturnMain: call WriteDec; dispay it ...

Получить html код страницы и записать его в TextBox
Как получить html код страницы и записать его в TextBox

Нужно записать код
Помощь с заданиями, которые обведены, нужно записать программу


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru