Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2018, 22:31   #1
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию Запомнить значения из нескольких TextBox-ов отдельно для выбранного элемента CheckListBox-а

Здравствуйте Уважаемые программисты!
Подскажите пожалуйста как в c# vs2010 решить следующую задачу:
Я пытаюсь сделать что-то вроде табеля рабочего времени, для этого на форме есть CheckListBox1, в который при открытии формы загружаются несколько фамилий. А также на форме есть 31 шт TextBox-ов (TextBox1 - TextBox31). С помощью определенных кнопок в TextBox-сы заносятся данные. Как запомнить "в память" заполненные данные из TextBox-сов отдельно для каждого выделенного элемента в CheckListBox1, другими словами, выделяем строку1 в CheckListBox1 - заполняем TextBox-сы, выделяем строку2 в CheckListBox1 - заполняем те же TextBox-сы для другой фамилии и т.д.? В завершении хотелось бы сохранить всю эту информацию, например, в текстовый файл.
Заранее спасибо!
ольгаг вне форума Ответить с цитированием
Старый 03.04.2018, 06:05   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

В массив string[checklistbox.rows.count,31] хранить значения
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 03.04.2018, 11:11   #3
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию

Подскажите пожалуйста, а как при выборе пункта в CheckListBox1 подгружать значения в TextBox-ы (ранее сохраненные)?
И возможно ли хранить и подгружать значения в TextBox-ы при выборе(смене) пункта в CheckListBox1 динамически, пока не нажать кнопку ,например, Сохранить?
ольгаг вне форума Ответить с цитированием
Старый 03.04.2018, 11:32   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от ольгаг Посмотреть сообщение
как при выборе пункта в CheckListBox1 подгружать значения в TextBox-ы (ранее сохраненные)?
Где ранее сохраненные?

Вариант мультивыбора checkButton обрабатываете?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 03.04.2018, 11:39   #5
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию

ранее сохраненные в память в массиве
ольгаг вне форума Ответить с цитированием
Старый 03.04.2018, 12:58   #6
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
using System.Windows.Forms;

namespace CheckListBox_TextBox
{
    public partial class Form1 : Form
    {
        public static string[,] answers;
        public Form1()
        {
            this.checkedListBox1 = new CheckedListBox();
            this.textBox1 = new TextBox();
            this.textBox2 = new TextBox();
            this.textBox3 = new TextBox();
            this.SuspendLayout();
            // 
            // checkedListBox1
            // 
            this.checkedListBox1.FormattingEnabled = true;
            this.checkedListBox1.Items.AddRange(new object[] {
            "item 1",
            "item 2",
            "item 3"});
            this.checkedListBox1.Location = new System.Drawing.Point(14, 11);
            this.checkedListBox1.Name = "checkedListBox1";
            this.checkedListBox1.Size = new System.Drawing.Size(120, 64);
            this.checkedListBox1.TabIndex = 0;
            this.checkedListBox1.ItemCheck += new ItemCheckEventHandler(this.checkedListBox1_ItemCheck);
            // 
            // textBox1
            // 
            this.textBox1.CausesValidation = false;
            this.textBox1.Location = new System.Drawing.Point(57, 103);
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(100, 20);
            this.textBox1.TabIndex = 1;

            // 
            // textBox2
            // 
            this.textBox2.CausesValidation = false;
            this.textBox2.Location = new System.Drawing.Point(195, 103);
            this.textBox2.Name = "textBox2";
            this.textBox2.Size = new System.Drawing.Size(100, 20);
            this.textBox2.TabIndex = 2;
            // 
            // textBox3
            // 
            this.textBox3.CausesValidation = false;
            this.textBox3.Location = new System.Drawing.Point(333, 103);
            this.textBox3.Name = "textBox3";
            this.textBox3.Size = new System.Drawing.Size(100, 20);
            this.textBox3.TabIndex = 3;
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(540, 166);
            this.Controls.Add(this.textBox3);
            this.Controls.Add(this.textBox2);
            this.Controls.Add(this.textBox1);
            this.Controls.Add(this.checkedListBox1);
            this.Name = "Form1";
            this.Text = "Form1";
            this.ResumeLayout(false);
            this.PerformLayout();


            answers = new string[,] { 
                    {"item 1a", "item 1b", "item 1c" },
                    {"item 2a", "item 2b", "item 2c" },
                    {"item 3a", "item 3b", "item 3c" }
                };
        }

        private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            for (int ix = 0; ix < checkedListBox1.Items.Count; ++ix)
            {
                if (checkedListBox1.GetItemCheckState(ix) == CheckState.Checked)
                {
                    answers[ix, 0] = textBox1.Text;
                    answers[ix, 1] = textBox2.Text;
                    answers[ix, 2] = textBox3.Text;
                }

                if (ix != e.Index)
                {
                    checkedListBox1.SetItemChecked(ix, false);
                }
            }
            textBox1.Text = answers[e.Index, 0];
            textBox2.Text = answers[e.Index, 1];
            textBox3.Text = answers[e.Index, 2];
        }
    }
}
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запомнить путь до файла в Textbox ольгаг Microsoft Office Excel 2 13.06.2012 14:56
Фокус выбранного элемента Defunate C# (си шарп) 2 06.02.2012 10:14
Обработка нескольких нажатий клавиатуры и отрисовка объекта отдельно! Lorem Помощь студентам 0 02.01.2012 18:49
Добавление выбранного элемента из ListBox на другой лист jojola Помощь студентам 2 09.12.2009 20:22