Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
inject
1 / 1 / 2
Регистрация: 03.07.2014
Сообщений: 257
#1

Выделение в bb-code текста в TextBox при выборе соответствующего CheckBox - C#

22.08.2014, 18:33. Просмотров 626. Ответов 9
Метки нет (Все метки)

На форме есть 4 чекбокса и 1 текстбокс. Нужно чтобы при чекеде чекбокса текст в текстбоксе выделялся bb-code. К примеру Текст "Я люблю яблоки" после чекеда 1 чекбокса стал "<b>Я люблю яблоки</b>", а если чекнуты 2 чекбокса то "<i><b>Я люблю яблоки</b></i>" Как это можно реализовать ? Желательно результат чтобы был равен какой-нибудь переменной для последующих действий с текстом
http://www.cyberforum.ru/windows-forms/thread2143306.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.08.2014, 18:33
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Выделение в bb-code текста в TextBox при выборе соответствующего CheckBox (C#):

Скрытие текста в TextBox при снятии флажка в CheckBox
есть textBox и CheсkBox. как сделать так чтоб при нажатой галочке текст в...

TextBox: выделение текста при щелчке мышью.
Как сделать так, чтобы когда щелкаешь мышью по текстбоксу, текст внутри...

Выделение всего текста в TextBox при клике мышью
Друзья, подскажите пожалуйста как можно реализовать выделение ВСЕГО текста в...

При наведении фокуса на textbox происходит выделение текста
Мне нужно, что чтобы при наведении мышки на текстбокс, на него переводился...

Обновление состояний checkBox при изменении состояния соответствующего comboBox
Доброго времени суток, возник вопрос: Как при смене значения comboBox изменять...

9
Darth Coder
281 / 262 / 107
Регистрация: 10.06.2011
Сообщений: 696
22.08.2014, 19:03 #2
C#
1
2
3
4
StringBuilder s = new StringBuilder(textbox1.text);
s.insert(textbox1.SelectionStart,"[b]");
s.insert(textbox1.SelectionStart+textbox1.SelectionLength,"[/b]");
textbox1.text=s.ToString();
Добавлено через 2 минуты
Цитата Сообщение от inject Посмотреть сообщение
<i><b>
так bb-код или html?
1
inject
1 / 1 / 2
Регистрация: 03.07.2014
Сообщений: 257
23.08.2014, 11:27  [ТС] #3
Цитата Сообщение от Darth Coder Посмотреть сообщение
так bb-код или html?
Без разницы ))) И то и то сойдет
C#
1
2
3
4
5
6
7
8
9
 private void button4_Click(object sender, EventArgs e)
        {
            StringBuilder s = new StringBuilder(textBox2.text);
            s.insert(textBox2.SelectionStart,"<b>");
            s.insert(textBox2.SelectionStart + textBox2.SelectionLength, "</b>");
            textBox2.Text = s.ToString();
 
            skype.CurrentUserProfile.RichMoodText = s;
        }
У меня на insert ругается. А как это с чекбоксами использовать ?

Добавлено через 14 часов 49 минут
Help me
0
Darth Coder
281 / 262 / 107
Регистрация: 10.06.2011
Сообщений: 696
23.08.2014, 13:10 #4
Лучший ответ Сообщение было отмечено inject как решение

Решение

Цитата Сообщение от inject Посмотреть сообщение
на insert ругается
я код на коленке писал, забыл, что Insert с заглавной
C#
1
2
3
4
5
6
7
8
9
10
private void button1_Click(object sender, EventArgs e)
        {
          if (textBox1.SelectionLength == 0) { MessageBox.Show("Выдели текст!"); }
          else{
          StringBuilder s = new StringBuilder(textBox1.Text);
          if(checkBox1.Checked){ 
              s.Insert(textBox1.SelectionStart,"<b>");
              s.Insert(textBox1.SelectionStart + textBox1.SelectionLength+3, "</b>");}
          textBox1.Text = s.ToString();}
        }
1
inject
1 / 1 / 2
Регистрация: 03.07.2014
Сообщений: 257
23.08.2014, 14:40  [ТС] #5
А как сделать для такого кода ? Как не пробую ругается
C#
1
<a href="http://сайт.ру/">ссылка</a>
0
Nummerok
19 / 19 / 7
Регистрация: 30.05.2014
Сообщений: 431
23.08.2014, 22:14 #6
регулярные алгоритмы в помощь
0
Darth Coder
281 / 262 / 107
Регистрация: 10.06.2011
Сообщений: 696
23.08.2014, 23:39 #7
попробуй так
C#
1
2
3
4
5
6
7
8
9
10
11
String in="<a href='http://сайт.ру'>";
private void button1_Click(object sender, EventArgs e)
        {
          if (textBox1.SelectionLength == 0) { MessageBox.Show("Выдели текст!"); }
          else{
          StringBuilder s = new StringBuilder(textBox1.Text);
          if(checkBox1.Checked){ 
              s.Insert(textBox1.SelectionStart,in);
              s.Insert(textBox1.SelectionStart + textBox1.SelectionLength+in.Length, "</a>");}
          textBox1.Text = s.ToString();}
        }
1
XRoy
860 / 710 / 305
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
24.08.2014, 00:09 #8
inject,
Ничего выделять не надо, меняет все ссылки в строке к виду вашего примера
C#
1
2
3
            string s =@"foo@demo.net    [email]bar.ba@test.co.uk[/email] [url]www.demo.com[/url]    [url]http://foo.co.uk/[/url] [url]http://regexr.com/foo.html?q=bar&ko=mj[/url] [url]http://сайт.ру/[/url] ftp://сайт.ру/";
            string pattern = @"\b(?:(?:ht|f)tps?:\/|www\.)\S+\b";
            var replace = Regex.Replace(s, pattern, match => String.Format(@"<a href=""{0}"">{0}</a>", match.Value));
Добавлено через 2 минуты
Парсер доставил теги, в строке s
1
inject
1 / 1 / 2
Регистрация: 03.07.2014
Сообщений: 257
24.08.2014, 13:16  [ТС] #9
Цитата Сообщение от XRoy Посмотреть сообщение
inject,
Ничего выделять не надо, меняет все ссылки в строке к виду вашего примера
А как его задействовать ? Куда вставить ?
0
inject
1 / 1 / 2
Регистрация: 03.07.2014
Сообщений: 257
25.08.2014, 21:49  [ТС] #10
Help
0
25.08.2014, 21:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.08.2014, 21:49
Привет! Вот еще темы с решениями:

Как запретить выделение текста в textbox?
захожу на форму по таймеру, и в textbox получается выделен текст, как то...

Автоматическое обновление label при выборе CheckBox
Вот такая ситуация. if (checkbox1.checked==true) label1.Text=&quot;3000&quot;; Можно...

Активация работы ProgressBar при выборе CheckBox
у меня есть 4 checkbox'a, кнопка, прогресс бар и textbox1. Мне нужно чтобы...

При выборе определенного элемета в checkbox-е заблокировать все остальные
Добрый день! На форме есть чек бокс, заполняется автоматически из БД. Вопрос...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru