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

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

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

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

Задача:

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

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

: Когда чекаешь сразу несколько checkBox'сов, то все верно в переменную добавляется информация с этих checkBox'ов. При нажатии Button, в текстовый файл заносится так как надо,НО когда отжимаешь один или несколько checkBox'ов (типа пользователь передумал добавлять текст в файл), эту же информацию из переменной удалить не могу. Могу только полностью очистить переменную с помощью sb.Clear(); Если понятна суть проблемы, то подскажите, пожалуйста, как это реализовать или куда копать? Пример, часть кода:
Листинг программы
  1. StringBuilder sb = new StringBuilder();
  2. private void checkBox1_CheckedChanged(object sender, EventArgs e)
  3. {
  4. if (checkBox.Checked)
  5. {
  6. sb.AppendLine("[ManageResources]");
  7. sb.AppendLine("Connect=Srvr=" + "\"server\"" + ";" + "Ref=" + "\"base\"" + ";");
  8. sb.AppendLine("ID=1");
  9. sb.AppendLine("OrderInList=1");
  10. sb.AppendLine("Folder=/");
  11. sb.AppendLine("OrderInTree=1");
  12. }
  13. }
  14. private void checkBox2_CheckedChanged(object sender, EventArgs e)
  15. {
  16. if (checkBox.Checked)
  17. {
  18. sb.AppendLine("[Base]");
  19. sb.AppendLine("Connect=Srvr=" + "\"server\"" + ";" + "Ref=" + "\"base2\"" + ";");
  20. sb.AppendLine("ID=2");
  21. sb.AppendLine("OrderInList=2");
  22. sb.AppendLine("Folder=/");
  23. sb.AppendLine("OrderInTree=2");
  24. }
  25. }
  26. private void button8_Click(object sender, EventArgs e)
  27. {
  28. MessageBox.Show(action._Bases(textBox1.Text, ListBox1IndexText, sb, checkBoxText4), "Adding to DB", MessageBoxButtons.OK, MessageBoxIcon.Information);
  29. }

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

textual
Листинг программы
  1. StringBuilder sb = new StringBuilder();
  2. private void checkBox_CheckedChanged(object sender, EventArgs e) //подключаете обработчик к CheckedChanged всех чекбоксов
  3.  
  4. {
  5.     sb.Clear();
  6.     if (checkBox1.Checked)
  7.     {
  8.         sb.AppendLine("[ManageResources]");
  9.         sb.AppendLine("Connect=Srvr=" + "\"server\"" + ";" + "Ref=" + "\"base\"" + ";");
  10.         sb.AppendLine("ID=1");
  11.         sb.AppendLine("OrderInList=1");
  12.         sb.AppendLine("Folder=/");
  13.         sb.AppendLine("OrderInTree=1");
  14.     }
  15.     if (checkBox2.Checked)
  16.     {
  17.         sb.AppendLine("[Base]");
  18.         sb.AppendLine("Connect=Srvr=" + "\"server\"" + ";" + "Ref=" + "\"base2\"" + ";");
  19.         sb.AppendLine("ID=2");
  20.         sb.AppendLine("OrderInList=2");
  21.         sb.AppendLine("Folder=/");
  22.         sb.AppendLine("OrderInTree=2");
  23.     }
  24. }

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


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

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

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы