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

Данные из ListBox в TextBox

04.04.2023, 11:09. Показов 618. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать, чтобы при выборе сотрудника из ListBox, выводилась информация о нем в правую форму? При это всю информацию задает сам пользователь через правую форму
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
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 pz10texProg
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        public void DisplayReadOnly()
        {
            this.textBoxSurname.ReadOnly = true;
            this.textBoxName.ReadOnly = true;
            this.textBoxPatronymic.ReadOnly = true;
            this.textBoxNetName.ReadOnly = true;
            this.comboBoxJobRole.Enabled = false;
            this.comboBoxStatus.Enabled = false;
            this.comboBoxAccess.Enabled = false;
        }
 
 
        public void DisplayEdit()
        {
            this.textBoxSurname.ReadOnly = false;
            this.textBoxName.ReadOnly = false;
            this.textBoxPatronymic.ReadOnly = false;
            this.textBoxNetName.ReadOnly = false;
            this.comboBoxJobRole.Enabled = true;
            this.comboBoxStatus.Enabled = true;
            this.comboBoxAccess.Enabled = true;
        }
 
        void DisplayReadOnly(bool readOnly)
        {
            if (readOnly == true)
                DisplayReadOnly();
            else
                DisplayEdit();
        }
 
        //главное меню
        void MenuItemEnabled(bool itemEnabled)
        {
            menuItemEdit.Enabled = false;
            menuItem.Enabled = false;
            menuItemNew.Enabled = false;
            menuItemUndo.Enabled = true;
            menuItemSave.Enabled = true;
        }
 
        //контекстное меню
        void MenuItemContextEnabled(bool itemEnabled)
        {
 
        }
 
        //конпки панели управления
        void StripButtonEnabled(bool itemEnabled)
        {
 
        }
 
        private void DisplayForm(bool mode)
        {
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            DisplayForm(false);
 
        }
 
        private void редактированиеToolStripMenuItem_Click(object sender, EventArgs e)
        {
            menuItemEdit.Enabled = false;
            menuItem.Enabled = false;
            menuItemNew.Enabled = false;
            menuItemUndo.Enabled = true;
            menuItemSave.Enabled = true;
 
        }
 
        private void созданиеНовогоСотрудникаToolStripMenuItem_Click(object sender, EventArgs e)
        {
            menuItemEdit.Enabled = false;
            menuItem.Enabled = false;
            menuItemNew.Enabled = false;
            menuItemUndo.Enabled = true;
            menuItemSave.Enabled = true;
 
        }
 
        private void просмотрToolStripMenuItem_Click(object sender, EventArgs e)
        {
            menuItemEdit.Enabled = true;
            menuItem.Enabled = true;
            menuItemNew.Enabled = true;
            menuItemUndo.Enabled = false;
            menuItemSave.Enabled = false;
 
 
        }
 
 
 
        private void splitContainer1_Panel1_Paint(object sender, PaintEventArgs e)
        {
 
        }
 
        private void splitContainer1_Panel2_Paint(object sender, PaintEventArgs e)
        {
 
        }
 
        private void label7_Click(object sender, EventArgs e)
        {
 
        }
 
        private void label6_Click(object sender, EventArgs e)
        {
 
        }
 
        private void label5_Click(object sender, EventArgs e)
        {
 
        }
 
 
        private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
 
        }
 
        private void menuItemEdit_Click(object sender, EventArgs e)
        {
 
        }
 
        private void textBoxSurname_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void menuItemAction_Click(object sender, EventArgs e)
        {
 
        }
 
        private void menuStrip2_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
 
        }
 
 
 
        private void listBoxEmployee_SelectedIndexChanged(object sender, EventArgs e)
        {
            listBoxEmployee.Items.Add(textBoxName.Text);
 
 
 
        }
 
        private void menuItemNew_Click(object sender, EventArgs e)
        {
 
        }
 
        private void menuItemSave_Click(object sender, EventArgs e)
        {
            if (!(textBoxSurname.Text == ""))
            {
                listBoxEmployee.Items.Add(textBoxSurname.Text);
            
            }
        }
 
        private void вводToolStripMenuItem_Click(object sender, EventArgs e)
        {
        }
 
        private void textBoxPatronymic_TextChanged(object sender, EventArgs e)
        {
 
        }
    }
}
Миниатюры
Данные из ListBox в TextBox  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.04.2023, 11:09
Ответы с готовыми решениями:

Сохранить введенные данные textbox в listbox
всем добрый день. Имеется два текстбокса и кнопка "сохранить". Можно ли сделать так, чтобы введенные данные в текстбокс1 и...

Как передавать данные из TextBox в ListBox из другой формы?
Подскажите как передавать данные из textBox в listBox из другой формы? Прочитал пару статей, пытаю сделать но не чего не выходит...

Приложение, записывающее данные, введенные с клавиатуры через TextBox в массив, а затем в ListBox
Помогите , по заданию нужно создать приложение WF , которое будет записывать данные введенные с клавиатуры через textbox в массив, а затем...

9
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
04.04.2023, 11:41
Frastber,
Модель
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        //Модель
        public class User
        {
            public string Surname { get; set; }
            public string Name { get; set; }
            public string Patronymic { get; set; }
            public string Position { get; set; }
            public string Status { get; set; }
            public string Access { get; set; }
            public string NetworkName { get; set; }
 
            public override string ToString()
            {
                return $"{Surname} {Name} {Patronymic}";
            }
        }
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
        //Источник
        BindingList<User> Data = new BindingList<User>();
        //Кнопка добавить
        private void button1_Click(object sender, EventArgs e)
        {
            Data.Add(new User()
            {
                Surname = textBox3.Text,//Фамилия
                Name = textBox4.Text,//Имя
                Patronymic = textBox5.Text,//Отчество
                Position = comboBox1.Text,//Должность
                Status = comboBox2.Text,//Статус
                Access = comboBox3.Text,//Доступ
                NetworkName = textBox6.Text,//Сетевое имя
            });
           
        }
        
        //Событие: Загрузка формы
        private void Form1_Load(object sender, EventArgs e)
        {
            listBox1.DataSource = Data;
            listBox1.DisplayMember = new User().ToString();
        }
 
        //Событие: выбора значение listBox
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            var u = listBox1.SelectedValue as User;
            textBox3.Text = u.Surname;//Фамилия
            textBox4.Text= u.Name;//Имя
            textBox5.Text = u.Patronymic;//Отчество
            comboBox1.Text = u.Position;//Должность
            comboBox2.Text = u.Status;//Статус
            comboBox3.Text = u.Access;//Доступ
            textBox6.Text = u.NetworkName;//Сетевое имя
        }
0
2287 / 1603 / 400
Регистрация: 26.06.2017
Сообщений: 4,753
Записей в блоге: 1
04.04.2023, 14:22
Kazbek17, а если после вызова listBox1_SelectedIndexChanged пользователь изменит данные - что будет? Разве выполнится условие ТСа:
Цитата Сообщение от Frastber Посмотреть сообщение
всю информацию задает сам пользователь через правую форму
Я это к тому, что контролов правой части надо использовать привязку.
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
04.04.2023, 14:47
Uswer, это уже другой вопрос. На счет привязки не спорю.
0
2287 / 1603 / 400
Регистрация: 26.06.2017
Сообщений: 4,753
Записей в блоге: 1
04.04.2023, 19:29
Делов-то
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
        //Источник
        BindingList<User> Data = new BindingList<User>();
        //Кнопка добавить
        private void button1_Click(object sender, EventArgs e)
        {
            Data.Add(new User()
            {
                Surname = textBox3.Text,//Фамилия
                Name = textBox4.Text,//Имя
                Patronymic = textBox5.Text,//Отчество
                Position = comboBox1.Text,//Должность
                Status = comboBox2.Text,//Статус
                Access = comboBox3.Text,//Доступ
                NetworkName = textBox6.Text,//Сетевое имя
            });
           
        }
        
        //Событие: Загрузка формы
        private void Form1_Load(object sender, EventArgs e)
        {
            listBox1.DataSource = Data;
            listBox1.DisplayMember = new User().ToString(); //?!?!?!?! чёт не уверен в этой шляпе
 
            textBox3.DataBindings.Add("Text", Data, "Surname");//Фамилия
            textBox4.DataBindings.Add("Text", Data, "Name");//Имя
            textBox5.DataBindings.Add("Text", Data, "Patronymic");//Отчество
            comboBox1.DataSource = XXX;//Должность, набор данных
            comboBox2.DataSource = XXX;//Статус, набор данных
            comboBox3.DataSource = XXX;//Доступ, набор данных
            textBox6.DataBindings.Add("Text", Data, "NetworkName");//Сетевое имя
        }
1
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
04.04.2023, 19:43
Цитата Сообщение от Uswer Посмотреть сообщение
listBox1.DisplayMember = new User().ToString(); //?!?!?!?! чёт не уверен в этой шляпе
Ага, согласен! Я почему то думал что если есть public override string ToString(), нужно указывать экземпляр и вызывать метод. Оказывается работает без DisplayMember.
0
1 / 1 / 0
Регистрация: 02.11.2021
Сообщений: 83
06.04.2023, 15:03  [ТС]
это все замечательно. но я новичок в с# и все что написано выше мне вообще непонятно. Я хоть и улавливаю логику кода, но не синтаксис. может есть по формам книжка какая?
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
06.04.2023, 17:21
Цитата Сообщение от Frastber Посмотреть сообщение
но я новичок в с# и все что написано выше мне вообще непонятно
Ну тогда вам еще рано писать какие либо программы. Учитесь, информации в сети куча.

Цитата Сообщение от Frastber Посмотреть сообщение
может есть по формам книжка какая
Как расположить визуальный элемент на форме? От книги это не зависит. Возьмите выше код и изучайте, поисковик вас приведет к разъяснению.
0
1 / 1 / 0
Регистрация: 02.11.2021
Сообщений: 83
06.04.2023, 18:05  [ТС]
Я из за того что есть некоторые знания С++, написал так, работает как хотел
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
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 pz10texProg
{
 
 
    public partial class Form1 : Form
    {
 
        public Form1()
        {
            InitializeComponent();
        }
 
        public void DisplayReadOnly()
        {
            this.textBoxSurname.ReadOnly = true;
            this.textBoxName.ReadOnly = true;
            this.textBoxPatronymic.ReadOnly = true;
            this.textBoxNetName.ReadOnly = true;
            this.comboBoxJobRole.Enabled = false;
            this.comboBoxStatus.Enabled = false;
            this.comboBoxAccess.Enabled = false;
        }
 
 
        public void DisplayEdit()
        {
            this.textBoxSurname.ReadOnly = false;
            this.textBoxName.ReadOnly = false;
            this.textBoxPatronymic.ReadOnly = false;
            this.textBoxNetName.ReadOnly = false;
            this.comboBoxJobRole.Enabled = true;
            this.comboBoxStatus.Enabled = true;
            this.comboBoxAccess.Enabled = true;
        }
 
        void DisplayReadOnly(bool readOnly)
        {
            if (readOnly == true)
                DisplayReadOnly();
            else
                DisplayEdit();
        }
 
        //главное меню
        void MenuItemEnabled(bool itemEnabled)
        {
            menuItemEdit.Enabled = false;
            menuItem.Enabled = false;
            menuItemNew.Enabled = false;
            menuItemUndo.Enabled = true;
            menuItemSave.Enabled = true;
        }
 
        //контекстное меню
        void MenuItemContextEnabled(bool itemEnabled)
        {
 
        }
 
        //конпки панели управления
        void StripButtonEnabled(bool itemEnabled)
        {
 
        }
 
        private void DisplayForm(bool mode)
        {
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            DisplayForm(false);
 
        }
 
        private void редактированиеToolStripMenuItem_Click(object sender, EventArgs e)
        {
            menuItemEdit.Enabled = false;
            menuItem.Enabled = false;
            menuItemNew.Enabled = false;
            menuItemUndo.Enabled = true;
            menuItemSave.Enabled = true;
 
        }
 
        private void созданиеНовогоСотрудникаToolStripMenuItem_Click(object sender, EventArgs e)
        {
            menuItemEdit.Enabled = false;
            menuItem.Enabled = false;
            menuItemNew.Enabled = false;
            menuItemUndo.Enabled = true;
            menuItemSave.Enabled = true;
 
        }
 
        private void просмотрToolStripMenuItem_Click(object sender, EventArgs e)
        {
            menuItemEdit.Enabled = true;
            menuItem.Enabled = true;
            menuItemNew.Enabled = true;
            menuItemUndo.Enabled = false;
            menuItemSave.Enabled = false;
 
 
        }
 
 
 
        private void splitContainer1_Panel1_Paint(object sender, PaintEventArgs e)
        {
 
        }
 
        private void splitContainer1_Panel2_Paint(object sender, PaintEventArgs e)
        {
 
        }
 
        private void label7_Click(object sender, EventArgs e)
        {
 
        }
 
        private void label6_Click(object sender, EventArgs e)
        {
 
        }
 
        private void label5_Click(object sender, EventArgs e)
        {
 
        }
 
 
        private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
 
        }
 
        private void menuItemEdit_Click(object sender, EventArgs e)
        {
           
        }
 
        private void textBoxSurname_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void menuItemAction_Click(object sender, EventArgs e)
        {
 
        }
 
        private void menuStrip2_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
 
        }
 
 
        sotrudnik[] m = new sotrudnik[30];
        private void listBoxEmployee_SelectedIndexChanged(object sender, EventArgs e)
        {
            string kogo;
            kogo = listBoxEmployee.SelectedItem as string;
 
            int poisk = 0;
            for(int j = 0; j<30;++j)
            {
                if (kogo == m[j].name)
                {
                    poisk = j;
                    j = 30;
                }
            }
 
            textBoxSurname.Text = m[poisk].sirName;
            textBoxName.Text =m[poisk].name;
            textBoxPatronymic.Text = m[poisk].otch;
            textBoxNetName.Text = m[poisk].dol;
            comboBoxJobRole.Text = m[poisk].stat;
            comboBoxStatus.Text = m[poisk].lvlDos;
            comboBoxAccess.Text = m[poisk].setName;
 
 
            //listBoxEmployee.SelectedItems.Add(textBoxSurname.Text = "xui");
        }
 
     
        int next = 0;
        //sotrudnik ob = new sotrudnik();
        private void menuItemNew_Click(object sender, EventArgs e)
        {
            m[next].sirName = textBoxSurname.Text;
            m[next].name = textBoxName.Text;
            m[next].otch = textBoxPatronymic.Text;
            m[next].dol = textBoxNetName.Text;
            m[next].stat = comboBoxJobRole.Text;
            m[next].lvlDos = comboBoxStatus.Text;
            m[next].setName = comboBoxAccess.Text;
            listBoxEmployee.Items.Add(m[next].name);
            ++next;
        }
 
        private void menuItemSave_Click(object sender, EventArgs e)
        {
           
        }
 
        private void выводToolStripMenuItem_Click(object sender, EventArgs e)
        {
  
        }
 
        private void задатьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            for(int i =0;i<30;++i)
            {
                m[i] = new sotrudnik();
            }
        }
    }
 
 
    public class sotrudnik
    {
        public string sirName;
        public string name;
        public string otch;
        public string dol;
        public string stat;
        public string lvlDos;
        public string setName;
 
    }
 
    
}
0
2287 / 1603 / 400
Регистрация: 26.06.2017
Сообщений: 4,753
Записей в блоге: 1
06.04.2023, 20:01
Frastber, дам банальный совет - придерживайтесь правил именования: тыц и тыц.
Цитата Сообщение от Frastber Посмотреть сообщение
может есть по формам книжка какая?
Рекомендации по книжкам (ещё) ищите поиском по форуму, а вообще просто почитайте это и это.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.04.2023, 20:01
Помогаю со студенческими работами здесь

Как из textBox перенести данные в таком же виде, в котором они там были, в listBox?
Подскажите как из textBox получит данные listBox в таком же виде в котором они там были. Пример: 123 234 234 4354 Получаем: 123...

Как сделать чтоб выводил не в listBox, а в textBox данные из столбцов таблицы mysql?
Как сделать чтоб выводил не в listBox, а в textBox данные из столбцов таблицы mysql? MySqlConnection connection = new...

Как динамически отображать в списке Listbox введенные данные в Textbox
У меня есть столбец с данными, которые отображаются в листбокс. Также на форме над листбоксом прилепил TextBox. Хочу, чтоб когда...

Почему не соотносит выбранные из ListBox и введенные в TextBox данные в выходном файле?
Почему не соотносит выбранные из ListBox и введенные в TextBox данные в выходном файле? Private Sub writeButton_Click(ByVal sender As...

Почему в ListBox нельзя просто, как и в TextBox загрузить данные из базы данных?
Я занимаюсь программированием больше года, хотя и не профессионально, но постоянно, однако, к сожалению больших успехов нет. Пишу...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
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, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru