С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 01.09.2019
Сообщений: 164

Как выделить всю строку где находится курсор(каретка, ввод) ?

15.11.2019, 19:19. Показов 4908. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте
Как выделить всю строку где находится курсор(каретка, ввод) ?
C#
1
richTextBox1.SelectedText = ............ ?
( Надеюсь понятно изложил вопрос )
Заранее благодарен

Добавлено через 5 минут
Тройным кликом можно выделить, но мне нужно одним кликом
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.11.2019, 19:19
Ответы с готовыми решениями:

Как выделить строку в datagridview, где находится курсор мыши!
Как выделить строку в datagridview, где находится курсор мыши! Сделал только одну ячейку: using System; using...

Как выделить всю текущую строку в Excel?
как выделить всю текущую строку? Excel. если извесно, что в строке 5 ячеек? спасибо

Как в RichTextBox определить где находится курсор?
Товарищи подскажите как определить где находится курсор в RichTextBox, или как еще можно проверять по словам написаный текст чтобы сделать...

12
65 / 47 / 26
Регистрация: 25.02.2014
Сообщений: 172
16.11.2019, 20:35
C#
1
2
3
4
5
richTextBox1.Focus();
int firstcharindex = richTextBox1.GetFirstCharIndexOfCurrentLine();
int currentline = richTextBox1.GetLineFromCharIndex(firstcharindex);
string currentlinetext = richTextBox1.Lines[currentline];
richTextBox1.Select(firstcharindex, currentlinetext.Length);
0
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
16.11.2019, 20:40
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public partial class Form : Form
{
    public Form()
    {
        InitializeComponent();
        richTextBox1.Click += RichTextBox1_Click;
    }
 
    private void RichTextBox1_Click(object sender, EventArgs e)
    {
        if (richTextBox1.Lines.Length == 0) return;
 
        int lineNumberUnderCarret = richTextBox1.GetLineFromCharIndex(richTextBox1.SelectionStart);
 
        int start = richTextBox1.GetFirstCharIndexFromLine(lineNumberUnderCarret);
        int lengthSelection = richTextBox1.Lines[lineNumberUnderCarret].Length;
 
        richTextBox1.Select(start, lengthSelection);
    }
}
1
0 / 0 / 0
Регистрация: 01.09.2019
Сообщений: 164
19.11.2019, 15:26  [ТС]
Цитата Сообщение от hOmmel Посмотреть сообщение
richTextBox1.Focus();
int firstcharindex = richTextBox1.GetFirstCharIndexOfCurrentL ine();
int currentline = richTextBox1.GetLineFromCharIndex(firstc harindex);
string currentlinetext = richTextBox1.Lines[currentline];
richTextBox1.Select(firstcharindex, currentlinetext.Length);
Этот код не работает
А вы применяли этот код на длинных строках ? которые если не помещаются по горизонтали то создаются новые подстроки, но однако это не новые строки - как бы одна длинная строка что бы поместится в окно без горизонтальной прокрутки делится на подстроки - но это все подстроки одна строка. Как в блокноте Windows меню (Формат -> Перенос по словам)

Добавлено через 11 минут
Цитата Сообщение от samana Посмотреть сообщение
public Form()
    {
        InitializeComponent();
        richTextBox1.Click += RichTextBox1_Click; - // Здесь выдает ошибку
    }
Пишет что RichTextBox1_Click не существует
0
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
19.11.2019, 20:47
Цитата Сообщение от Новичок0310 Посмотреть сообщение
Пишет что RichTextBox1_Click не существует
RichTextBox1_Click - это метод, который находится в коде, который был предоставлен выше. Возможно у вас какое-то иное название. Или покажете тот кусок кода, который у вас не работает.
0
0 / 0 / 0
Регистрация: 01.09.2019
Сообщений: 164
19.11.2019, 21:04  [ТС]
Цитата Сообщение от samana Посмотреть сообщение
public partial class Form : Form
{
    public Form()
    {
        InitializeComponent();
        richTextBox1.Click += RichTextBox1_Click;
    }
private void RichTextBox1_Click(object sender, EventArgs e)
    {
        if (richTextBox1.Lines.Length == 0) return;
int lineNumberUnderCarret = richTextBox1.GetLineFromCharIndex(richTe xtBox1.SelectionStart);
int start = richTextBox1.GetFirstCharIndexFromLine(l ineNumberUnderCarret);
        int lengthSelection = richTextBox1.Lines[lineNumberUnderCarret].Length;
richTextBox1.Select(start, lengthSelection);
    }
}
Именно это кусок кода который я обозначил красным цветом пишет что RichTextBox1_Click не существует
0
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
19.11.2019, 21:10
Дело в том, что сначала я написал этот код, протестировал и просто скопировал сюда, поэтому он - рабочий.
А почему у вас не работает я не могу точно определить, возможно это какая-то внутренняя ошибка, ведь вы видите по коду ниже, что метод с таким именем наглядно существует. Попробуйте переименовать этот метод (в обоих местах).
0
0 / 0 / 0
Регистрация: 01.09.2019
Сообщений: 164
20.11.2019, 06:47  [ТС]
Цитата Сообщение от samana Посмотреть сообщение
поэтому он - рабочий
Пробовал применять и изменении которые предлагает сама программа Visual Studio C#, но все ровно не помогло
Миниатюры
Как выделить всю строку где находится курсор(каретка, ввод) ?  
0
0 / 0 / 0
Регистрация: 01.09.2019
Сообщений: 164
20.11.2019, 07:10  [ТС]
После применения изменения выдает такую ошибку после компиляции.
И первые несколько кликов выделяет, но не правильно выделяет - не всю строку выделяет - наверное думает что 26 строк - хотя всего то 8 строк которые не помещаются по горизонтали и поэтому переносятся вниз и получается якобы 26 строк.
Миниатюры
Как выделить всю строку где находится курсор(каретка, ввод) ?  
0
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
20.11.2019, 07:33
наверное думает что 26 строк - хотя всего то 8 строк которые не помещаются по горизонтали и поэтому переносятся вниз и получается якобы 26 строк.
Изначально в задании не было уточнения об этом и я подумал, что "выделить строку" нужно в самом прямом смысле - одну горизонтальную строчку текста в текстовом поле.
Новичок0310, уточните задачу пожалуйста, что вы имеете ввиду под "выделить строчку"? Это выделение текущего предложения под курсором (от точки до точки) ? Или выделение абзаца, до знака переноса строки ( \n, \t)?
0
0 / 0 / 0
Регистрация: 01.09.2019
Сообщений: 164
20.11.2019, 08:03  [ТС]
Цитата Сообщение от samana Посмотреть сообщение
уточните задачу пожалуйста
Например когда пишут текст - например в каждой строке около 100 слов и естественно слова строка переносится вниз если не помещаются по горизонтали - когда закончили писать первую строку из 100 слов то нажимаем Enter и переходим во вторую. строку которая тоже может состоять из минимум 100 слов и у нс получается 2 строки - хотя в окне редактора может быть много строк в зависимости от горизонтального размера. Если включить горизонтальную прокрутку то строк будет всего 2, но длинные - мне нужно без горизонтальной прокрутки.
Посмотрите в блокноте Windows - там есть меню сверху (Формат и внизу Перенос по словам)
Миниатюры
Как выделить всю строку где находится курсор(каретка, ввод) ?   Как выделить всю строку где находится курсор(каретка, ввод) ?   Как выделить всю строку где находится курсор(каретка, ввод) ?  

0
0 / 0 / 0
Регистрация: 01.09.2019
Сообщений: 164
20.11.2019, 08:41  [ТС]
Если я узнаю номер строки где стоит каретка то смогу уже решит проблему
C#
1
richTextBox1.SelectedText = richTextBox1.Lines[индекс строки где стоит каретка];
Добавлено через 3 минуты
Мне нужно выделить именно всю строку целиком даже если строка не помещается по горизонтали
Если в richTextBox1 после компиляции нажать тройным кликом по строке то выделится вся строка
В одной строке может быть хоть 20 точек и запятых, но это все одна строка считается - а может быть и без точек и без запятых

Добавлено через 29 минут
Цитата Сообщение от samana Посмотреть сообщение
до знака переноса строки ( \n, \t)?
До переноса строки - то есть это \n
0
0 / 0 / 0
Регистрация: 01.09.2019
Сообщений: 164
20.11.2019, 20:59  [ТС]
Цитата Сообщение от Новичок0310 Посмотреть сообщение
richTextBox1.SelectedText = richTextBox1.Lines[индекс строки где стоит каретка];
С этим кодом я ошибся.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.11.2019, 20:59
Помогаю со студенческими работами здесь

Как выделить в таблице (CListCtrl) всю строку, но только одну?
Есть таблица m_IDC_LIST1 типа CListCtrl. Как сделать так, чтобы по щелчку "мыши" выделялась бы вся строка, но только одна (то есть чтобы...

Как выделить всю строку DGV после поиска по столбцу?
Вот есть у меня форма с таблицей. В поле я прописываю фамилию человека и вся строка должна выделиться, а всё остальное скрыться. Но у меня...

Как выделить в событии OnSelectCell всю строку, а не ячейку в StringGrid
Как выделить в событии OnSelectCell всю строку, а не ячейку в StringGrid Например, void __fastcall...

Как записать расчёт TCalculatorDialog в Memo, в место где находится курсор
Здравствуйте! Подскажите, как записать значение полученное расчётом TCalculatorDialog в Memo в место где находится курсор.

Как получить строку из TextArea, на которой в данный момент находится курсор?
Использую ext.net (1.x) + asp.net Как получить строку из TextArea на которой в данный момент находиться курсор? Заранее спасибо


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru