Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
triatri3
5 / 5 / 8
Регистрация: 16.11.2016
Сообщений: 490
1

Сделать кнопку копировать временно активной + добавить функцию поиска в текстовом редакторе

23.05.2018, 04:59. Просмотров 757. Ответов 4
Метки нет (Все метки)

Есть код текстового редактора, необходимо доработать его добавив или изменив 2 пункта:
1)Изменить кнопку копирования. Необходимо сдлеать её временно не активной (когда текст не выделен), и копировать не весь текст (как я это сделал), а ту часть, которая выделена
C#
1
2
3
4
5
6
7
8
9
 private void копироватьToolStripMenuItem_Click(object sender, EventArgs e) // копировать
        {
            Clipboard.SetText(textBox1.Text, TextDataFormat.UnicodeText);
        }
 
        private void вставитьToolStripMenuItem_Click(object sender, EventArgs e)  //вставить
        {
            textBox1.Text = textBox1.Text + Clipboard.GetText();
        }
2)необходимо добавить функцию поиска, я делал форму новую (Form2.cs). Как на неё переключится при нажатии кнопки, и как будет выглядеть алгоритм? (textBox1 -принимает значение которое надо поменять, textBox2 - принимает значение, которым надо заменить).
Я не знаю, сможете ли Вы уделить мне время, если да, то огромнейшее Вам спасибо.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2018, 04:59
Ответы с готовыми решениями:

Как сделать панель редактирования шрифта в текстовом редакторе?
Помогите нужно реализовать функции командной строки в текстовом редакторе . На...

Сделать кнопку не активной, и после цикла активировать
Как можно правильно сделать кнопку не активной, и после цикла активировать?...

Как сделать активной кнопку в menuStrip на родительской форме?
Как сделать активной кнопку в menuStrip на родительской форме?

Добавить треугольник и многоугольник и сделать выбор штриховки в графическом редакторе
Как добавить сюда же треугольник и многоугольник(например 6 углов)? И сделать...

Шрифт в текстовом редакторе
Помогите нужно реализовать смену шрифтов с помощью СоmBox , список шрифтов...

4
Aferuga
345 / 342 / 227
Регистрация: 20.05.2015
Сообщений: 995
Завершенные тесты: 1
23.05.2018, 07:50 2
Лучший ответ Сообщение было отмечено triatri3 как решение

Решение

Если без особых заморочек то так:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void копироватьToolStripMenuItem_Click(object sender, EventArgs e) // копировать
        {
            textBox1.Copy();
        }
        private void вставитьToolStripMenuItem_Click(object sender, EventArgs e)  //вставить
        {
            textBox1.Paste();
        }
 
        private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
        {
               if ((sender as ContextMenuStrip).SourceControl is TextBox){
               копироватьToolStripMenuItem.Enabled = ((sender as ContextMenuStrip).SourceControl as TextBox).SelectionLength > 0;
               }
        }

Цитата Сообщение от triatri3 Посмотреть сообщение
Как на неё переключится при нажатии кнопки, и как будет выглядеть алгоритм?
При переключении на форму задаем ей владельца(естественно создаваемое окно не должно быть модальным), а дальше дело техники при нажатии на кнопку обращаемся к методу родительской формы и передаем ему текст ввиде параметра(-ов).
1
triatri3
5 / 5 / 8
Регистрация: 16.11.2016
Сообщений: 490
27.05.2018, 22:51  [ТС] 3
Цитата Сообщение от Aferuga Посмотреть сообщение
C#
1
2
3
4
5
6
        private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
        {
               if ((sender as ContextMenuStrip).SourceControl is TextBox){
               копироватьToolStripMenuItem.Enabled = ((sender as ContextMenuStrip).SourceControl as TextBox).SelectionLength > 0;
               }
        }
Простите, а всё содержимое (строки 2- 15) должно быть внутри описания кнопки копировать? Просто строки 10-15 привязать к чему? К какой кнопки/ форме или типо того?
0
Aferuga
345 / 342 / 227
Регистрация: 20.05.2015
Сообщений: 995
Завершенные тесты: 1
28.05.2018, 01:58 4
Цитата Сообщение от triatri3 Посмотреть сообщение
Просто строки 10-15 привязать к чему?
Привязать к событию Opening контрола contextMenuStrip, там вроде в названии метода видно. Плюс текстбокс должен быть связан с этим contextMenuStrip. Остальное к кликам по пунктам меню.
1
Aferuga
345 / 342 / 227
Регистрация: 20.05.2015
Сообщений: 995
Завершенные тесты: 1
29.05.2018, 06:28 5
Судя по второму посту вам нужно объяснить зачем такие сложные конструкции?
C#
1
2
((sender as ContextMenuStrip).SourceControl is TextBox)
((sender as ContextMenuStrip).SourceControl as TextBox)
0
29.05.2018, 06:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2018, 06:28

Перемещение курсора в текстовом редакторе
Есть задача - создать текстовой редактор, с дополнительным условием : ...

Выделение цветов слов в текстовом редакторе
Здравствуйте. Я попытался создать простой текстовый редактор на C#. Так вот: ...

Как реализовать сохранение документа в простейшем текстовом редакторе
Сделал блокнот(это мое первое windows приложение)он работает но сохраняет как...


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

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

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