Удаление куска текста из переменной StringBuilder - C#

Узнай цену своей работы

Формулировка задачи:

Нужна помощь или подсказка. Постараюсь описать максимально понятно.

Задача:

Есть GUI на WinForm на ней n-количество checkbox, и всего один Button. На checkBox'ы обработчик checkBox_CheckedChanged, который должен записывать в переменную (в моём случае StringBuilder) форматируемый текст (т.е. текст с переносами на новую строку). Когда чекаешь checkbox в переменную записался текст, а когда наживаешь на кнопку, этот текст заносится в тестовый документ. Всё это я реализовал, НО,

возникла следующая проблема

: Когда чекаешь сразу несколько checkBox'сов, то все верно в переменную добавляется информация с этих checkBox'ов. При нажатии Button, в текстовый файл заносится так как надо,НО когда отжимаешь один или несколько checkBox'ов (типа пользователь передумал добавлять текст в файл), эту же информацию из переменной удалить не могу. Могу только полностью очистить переменную с помощью sb.Clear(); Если понятна суть проблемы, то подскажите, пожалуйста, как это реализовать или куда копать? Пример, часть кода:
StringBuilder sb = new StringBuilder();
private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox.Checked)
            {   
                sb.AppendLine("[ManageResources]");
                sb.AppendLine("Connect=Srvr=" + "\"server\"" + ";" + "Ref=" + "\"base\"" + ";");
                sb.AppendLine("ID=1");
                sb.AppendLine("OrderInList=1");
                sb.AppendLine("Folder=/");
                sb.AppendLine("OrderInTree=1"); 
            }
        }
private void checkBox2_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox.Checked)
            {   
                sb.AppendLine("[Base]");
                sb.AppendLine("Connect=Srvr=" + "\"server\"" + ";" + "Ref=" + "\"base2\"" + ";");
                sb.AppendLine("ID=2");
                sb.AppendLine("OrderInList=2");
                sb.AppendLine("Folder=/");
                sb.AppendLine("OrderInTree=2"); 
            }
        }
private void button8_Click(object sender, EventArgs e)
        {
           MessageBox.Show(action._Bases(textBox1.Text, ListBox1IndexText, sb, checkBoxText4), "Adding to DB", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }

Решение задачи: «Удаление куска текста из переменной StringBuilder»

textual
Листинг программы
StringBuilder sb = new StringBuilder();
private void checkBox_CheckedChanged(object sender, EventArgs e) //подключаете обработчик к CheckedChanged всех чекбоксов
 
{
    sb.Clear();
    if (checkBox1.Checked)
    {
        sb.AppendLine("[ManageResources]");
        sb.AppendLine("Connect=Srvr=" + "\"server\"" + ";" + "Ref=" + "\"base\"" + ";");
        sb.AppendLine("ID=1");
        sb.AppendLine("OrderInList=1");
        sb.AppendLine("Folder=/");
        sb.AppendLine("OrderInTree=1");
    }
    if (checkBox2.Checked)
    {
        sb.AppendLine("[Base]");
        sb.AppendLine("Connect=Srvr=" + "\"server\"" + ";" + "Ref=" + "\"base2\"" + ";");
        sb.AppendLine("ID=2");
        sb.AppendLine("OrderInList=2");
        sb.AppendLine("Folder=/");
        sb.AppendLine("OrderInTree=2");
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы