Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
dontknow
0 / 0 / 0
Регистрация: 18.05.2014
Сообщений: 16
1

Как сделать одно контекстное меню для нескольких richTextBox?

23.05.2014, 19:04. Просмотров 600. Ответов 2
Метки нет (Все метки)

На форме четыре richTextBox, для каждого из них необходимо контекстное меню со стандартными функциями - копировать, вырезать, вставить, удалить, выделить все. Как создать для всех них одно общее меню?
Сделал так, но это слишком громоздко, плюс не работает функция вырезать, нужно что то более рациональное:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
private string BufferText1 = "", BufferText2 = "", BufferText3 = "", BufferText4 = "";
        // Вырезание текста
        public void Cut()
        {
            this.BufferText1 = richTextBox1.SelectedText;
            this.BufferText2 = richTextBox2.SelectedText;
            this.BufferText3 = commentrichTextBox.SelectedText;
            this.BufferText4 = NotActiveCommentrichTextBox.SelectedText;
        }
        // Копирование текста
        public void Copy()
        {
            this.BufferText1 = richTextBox1.SelectedText;
            this.BufferText2 = richTextBox2.SelectedText;
            this.BufferText3 = commentrichTextBox.SelectedText;
            this.BufferText4 = NotActiveCommentrichTextBox.SelectedText;
        }
        // Вставка
        public void Paste()
        {
            richTextBox1.SelectedText = this.BufferText1;
            richTextBox2.SelectedText = this.BufferText2;
            commentrichTextBox.SelectedText = this.BufferText3;
            NotActiveCommentrichTextBox.SelectedText = this.BufferText4;
        }
        // Выделение всего текста
        public void SelectAll()
        {
            richTextBox1.SelectAll();
            richTextBox2.SelectAll();
            commentrichTextBox.SelectAll();
            NotActiveCommentrichTextBox.SelectAll();
        }
        // Удаление
        public void Delete()
        {
            richTextBox1.SelectedText = "";
            richTextBox2.SelectedText = "";
            commentrichTextBox.SelectedText = "";
            NotActiveCommentrichTextBox.SelectedText = "";
            this.BufferText1 = "";
        }
        private void cutToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Cut();
        }
 
        private void copyToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Copy();
        }
        private void pasteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Paste();
        }
        private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Delete();
        }
        private void selectallToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SelectAll();
        }
Для всех richTextBox в свойствах указал ContextMenuStrip1.

PS нашел похожую тему, но разобраться не смог, я новичек в программировании
Заранее спасибо за ответы)
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2014, 19:04
Ответы с готовыми решениями:

Как создать контекстное меню. Например нажимая на richTextBox правой кнопкой мыши, мне бы предоставлялось контекстное меню
Как создать контекстное меню. Например нажимая на richTextBox правой кнопкой мыши, мне бы...

Для нескольких форм сделать общее контекстное меню
Добрый день. Возникла задача - для нескольких форм сделать общее контекстное меню. Особо не...

Одно контекстное меню для 5 textbox'ов
У меня 5 текстбоксов. Нужно для каждого текстбокса создать контекстное меню с одной кнопкой...

RichTextBox контекстное меню
Доброго дня Всем! Срочно жду помощи!!! 1-Как подключить к RichTextBox стандартное контекстное...

Как отобразить контекстное меню для иконки в трее?
Добрый день! Подскажите пожалуйста, как запустить контекстное меню трея во время работы...

2
KriBetko
4 / 4 / 4
Регистрация: 01.11.2013
Сообщений: 135
23.05.2014, 19:57 2
Так?

C#
1
2
3
4
5
6
7
8
private void richTextBox1_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                Point p = listView1.PointToScreen(e.Location);
                contextMenuStrip1.Show(p);
            }
        }
0
mixon-21
3 / 3 / 3
Регистрация: 05.03.2013
Сообщений: 220
23.05.2014, 20:18 3
Для каждого richTextBox в свойствах напротив ContextMenuStrip выбери нужное контекст меню
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2014, 20:18

Одно контекстное меню для нескольких кнопок
Как осуществить контекстное меню для несколько кнопок? Например в контекстном меню при нажатии на...

(Galasoft.MvvmLight) Одно контекстное меню для всех кнопок. Как передать ссылку на кнопку в команду?
При срабатывании команды MultiStateButton button равен null <Window...

Контекстное меню для DataGridView, как лучше сделать?
Привет друзья, всех с наступающим Новым Годом, всех Благ. Пишу для себя программу, и хочу...


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

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

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