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

Последовательное отображение значения кнопок в текстовом поле

03.12.2014, 20:27. Показов 1730. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На форме есть кнопки с, U, o, D. При нажатии на любую из них в текстовом поле появляется ее значение, при нажатии на следующую - следующее значение, а предыдущее убирается. Как можно сделать так, чтобы значения появлялись последовательно, например, я ввожу D, а потом U, в текстовом поле отображается DU?

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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
using System;
using System.Windows.Forms;
 
namespace TempWinFormProject
{
    public partial class Parent : Form
    {
        enum StateType { oD, cD, cU, oU }
        public static void Main()
        {
            Application.Run(new Parent());
        }
        public Parent()
        {
 
            b1 = new Button();
            b1.Top = 10;
            b1.Left = 10;
            b1.Click += new EventHandler(b1_Click1);
            Controls.Add(b1);
            b2 = new Button();
            b2.Top = 100;
            b2.Left = 100;
            b2.Text = "c";
            b2.Click += new EventHandler(b2_Click1);
            Controls.Add(b2);
            b3= new Button();
            b3.Top = 100;
            b3.Left = 150;
            b3.Text = "U";
            b3.Click += new EventHandler(b3_Click1);
            Controls.Add(b3);
            b4 = new Button();
            b4.Top = 100;
            b4.Left = 200;
            b4.Text = "o";
            b4.Click += new EventHandler(b4_Click1);
            Controls.Add(b4);
            b5 = new Button();
            b5.Top = 100;
            b5.Left = 250;
            b5.Text = "D";
            b5.Click += new EventHandler(b5_Click1);
            Controls.Add(b5);
            tb1 = new TextBox();
            tb1.Top = 50;
            tb1.Left = 50;
            Controls.Add(tb1);
            tb2 = new TextBox();
            tb2.Top = 70;
            tb2.Left = 100;
            Controls.Add(tb2);
          
        }
        Button b1 = null;
        Button b2 = null;
        Button b3 = null;
        Button b4 = null;
        Button b5 = null;
        TextBox tb1 = null;
        TextBox tb2 = null;
 
        void b2_Click1(object sender, EventArgs e)
        {
 
            tb1.Text = "c";
        }
        void b3_Click1(object sender, EventArgs e)
        {
            tb1.Text = "U";
        }
        void b4_Click1(object sender, EventArgs e)
        {
            tb1.Text = "o";
        }
        void b5_Click1(object sender, EventArgs e)
        {
            tb1.Text = "D";
        }
 
        void b1_Click1(object sender, EventArgs e)
        {
 
            string program = tb1.Text + '\0';
            StateType State = StateType.oD;
            int i = 0;
            char symbol;
            try
            {
                while ((symbol = program[i++]) != '\0')
                {
                    tb2.Text += "Текущее состояние: " + State + Environment.NewLine;
 
                    switch (State)
                    {
                        case StateType.oD: switch (symbol)
                            {
                                case 'c': State = StateType.cD; break;
                                default: throw new Exception();
                            }
                            break;
                        case StateType.cD: switch (symbol)
                            {
                                case 'o': State = StateType.oD; break;
                                case 'U': State = StateType.cU; break;
                                default: throw new Exception();
                            }
                            break;
                        case StateType.cU: switch (symbol)
                            {
                                case 'D': State = StateType.cD; break;
                                case 'o': State = StateType.oU; break;
                                default: throw new Exception();
                            }
                            break;
                        case StateType.oU: switch (symbol)
                            {
                                case 'c': State = StateType.cU; break;
                                default: throw new Exception();
                            }
                            break;
                    }
                }
                tb2.Text += "Текущее состояние: " + State + Environment.NewLine;
            }
            catch (Exception)
            {
                tb2.Text += "Недопустимый переход" + Environment.NewLine;
            }
        }
 
       
    }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.12.2014, 20:27
Ответы с готовыми решениями:

Отображение кирилицы в текстовом поле
Есть на странице(index.php) текстовое поле(имя:t1 value="<?php echo $_GET; ?>">), ему нужно присвоить значение через адресную строку. К...

HTML. Отображение принятых данных в форме (текстовом поле)
День добрый! Сразу скажу, что в HTML и веб я первоклассный чайник) Есть задача - отправлять данные на страницу сайта (в странице нужно...

Отображение значения в поле формы
Здравствуйте! Помогите хоть кто-нибудь! Или хотя бы дайте код чего-то подобного. Есть два поля. Задача: при вводе в 1-е поле id...

4
8 / 8 / 6
Регистрация: 02.12.2013
Сообщений: 54
03.12.2014, 21:38
Ну если я правильно понял то так
C#
1
2
3
4
5
6
            
            string text = "Значение";
            if (string.IsNullOrEmpty(textBox1.Text))// проверка есть ли что то в текстовом поле
            textBox1.Text = text;//если нет то текст присваивается
            else
                textBox1.Text += " + " + text;//если да то текст добавляется(будет выглядеть: значение + значение)
Все дело в + что до знака =

Добавлено через 17 минут
Тупллю, надо было полистать код. Ну в принципе по идее система та же просто в casы подбавляй:
C#
1
2
3
4
           if (string.IsNullOrEmpty(tb2.Text))//или условие на проверку null переменой State
            State = StateType.cD; break;
            else
                State += StateType.cD; break;
или на крайняк сделай List<StateType> и просто в нужный момент добавляй в него новый элемент а при завершении перебора символов просто разбери этот лист тем же foreach
Надеюсь хоть что-то путное посоветовал.
0
5 / 5 / 1
Регистрация: 05.11.2011
Сообщений: 190
03.12.2014, 22:23  [ТС]
joker13-13, не совсем то что надо...

Спрошу по-другому: как с помощью кнопок-букв, расположенных на форме, написать слово в TextBox?
0
8 / 8 / 6
Регистрация: 02.12.2013
Сообщений: 54
04.12.2014, 00:24
Лучший ответ Сообщение было отмечено Julia9311 как решение

Решение

эммм..
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        void a_Click1(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(tb1.Text))
            tb1.Text = "А";
            else
                tb1.Text += "А";
        }
        void b_Click1(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(tb1.Text))
            tb1.Text = "Б";
            else
                tb1.Text += "Б";
        }
        void v_Click1(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(tb1.Text))
            tb1.Text = "В";
            else
                tb1.Text += "В";
        }
ну и тд
хотя в этом случае достаточно будет и просто
C#
1
2
3
4
        void a_Click1(object sender, EventArgs e)
        {
                tb1.Text += "А";
        }
1
5 / 5 / 1
Регистрация: 05.11.2011
Сообщений: 190
04.12.2014, 00:33  [ТС]
joker13-13, большое спасибо, вы мне очень помогли!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.12.2014, 00:33
Помогаю со студенческими работами здесь

Последовательное нажатие кнопок
Всем доброго времени! Есть задача: нужно, чтобы в нужной последовательности зажимались кнопки. Если последовательность угадывается - в...

Последовательное нажатие кнопок
Задача: срабатывание программы при последовательном нажатии заданных кнопок (например, &quot;1&quot;, &quot;2&quot;, &quot;3&quot;). Что...

Отображение в поле значения предыдущей записи
Всем очень добрый день! Подскажите пожалуйста как вывести на форме, в прилагаемом примере, последнее записанное значение перед новой...

Последовательное программное нажатие двух кнопок при нажатии на третью
Здравствуйте, подскажите пожалуйста, какой код позволит программно нажать последовательно две кнопки при нажатии на третью. То есть,...

Последовательное отображение одинаковых DIV
Всем привет! На странице N блоков DIV, имеющие один и тот же класс, контентно содержащие однородную информацию (товарные карточки). В...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru