Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
SkarM
7 / 7 / 3
Регистрация: 28.10.2010
Сообщений: 220
#1

Извлечение текста с tooltip.Content - C# WPF

13.09.2011, 23:46. Просмотров 1840. Ответов 21
Метки нет (Все метки)

При запуске программы считываются данные с текстового файла, и к каждым данным там же в строке есть поле tooltip, так вот, когда там добавить /n, то все считывается и отображается в tooltip нормально, с переносами, а вот при чтении с tooltip.Content и записи обратно в файл этот перенос вытекает в то, что получаю на выходе две строки, а не одну с символом переноса. Ну вот как то так получается
http://www.cyberforum.ru/csharp-net/thread98959.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2011, 23:46
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Извлечение текста с tooltip.Content (C# WPF):

Позиционирование ToolTip
Добрый день, есть тултип со стрелкой сбоку, необходимо эту стрелку...

ToolTip и его перевоплощения
Доброго времени суток, вопрос крайне простой, но именно такой информациия не...

Отображение ошибок в ToolTip
Доброго времени суток всем, задача, есть датагрид в который юзер вводит...

Изменение вида ToolTip
Столкнулся с проблемой. ToolTip имеет что-то вроде градиента и этот градиент...

Изменять текст в Tooltip
Необходимо, чтобы по даблклику на некоторые элементы выводился бы контрол,...

21
al.k
14.09.2011, 14:49
  #2

Не по теме:


вы промтом переводили, я ни че не понял

0
SkarM
7 / 7 / 3
Регистрация: 28.10.2010
Сообщений: 220
14.09.2011, 15:34  [ТС] #3
Ну вообще то ничего я не переводил, прост засиделся и писал немного сонный вчера)
А так сформулирую вопрос по другому:
как можно убрать переносы при считывании текста из tooltip и заменить эти переносы на какой-то символ?
0
al.k
99 / 84 / 6
Регистрация: 08.04.2010
Сообщений: 169
14.09.2011, 15:49 #4
если вам в тексте удалить переносы строк, то может быть вот так

C#
1
myString = myString.Replace(Environment.NewLine, "replacement text")
1
SkarM
7 / 7 / 3
Регистрация: 28.10.2010
Сообщений: 220
18.09.2011, 11:59  [ТС] #5
Цитата Сообщение от al.k Посмотреть сообщение
если вам в тексте удалить переносы строк, то может быть вот так

C#
1
myString = myString.Replace(Environment.NewLine, "replacement text")
Все таки не помогло...
0
al.k
99 / 84 / 6
Регистрация: 08.04.2010
Сообщений: 169
18.09.2011, 14:40 #6
код давайте
0
SkarM
7 / 7 / 3
Регистрация: 28.10.2010
Сообщений: 220
18.09.2011, 15:13  [ТС] #7
C#
1
2
3
Tooltip t=new Tooltip();
t.Content="asdasdas\nasdad";
String s=t.Content.Replace(Environment.NewLine, "\n")
При выводе строки в файл через StreamWriter.WriteLine получаю в файле две строки вместо одной.
0
al.k
99 / 84 / 6
Регистрация: 08.04.2010
Сообщений: 169
18.09.2011, 16:01 #8
а так?
C#
1
String s=t.Content.Replace("\n, " ");
0
SkarM
7 / 7 / 3
Регистрация: 28.10.2010
Сообщений: 220
18.09.2011, 16:16  [ТС] #9
С этого начинал... не хочет...
0
al.k
99 / 84 / 6
Регистрация: 08.04.2010
Сообщений: 169
18.09.2011, 16:39 #10
t.Content это вообще не стринг, не понимаю как у вас код который вы привели вообще компилился без ошибок

ToolTip надо, а не Tooltip

C#
1
  String s = ((string)t.Content).Replace("\n", " ");
0
SkarM
7 / 7 / 3
Регистрация: 28.10.2010
Сообщений: 220
18.09.2011, 16:56  [ТС] #11
Ну у меня не в tooltip дело, а все дело в том, что есть просто строка, в которой хочу убрать переносы, заменив их другими символами... В ToolTip передается ссылка на строку,с которой я вот работаю, поэтому там ошибки и не было при компиляции.
0
NightEagle
1 / 1 / 0
Регистрация: 01.03.2010
Сообщений: 26
18.09.2011, 17:14 #12
А если при сохранении заменить \n на какой-нибудь набор символов ($newLine), а при загрузке наоборот заменять все $newLine на \n ?
0
SkarM
7 / 7 / 3
Регистрация: 28.10.2010
Сообщений: 220
18.09.2011, 17:22  [ТС] #13
Вот это я уже пробывал...
Игнорируется символ \n при замене...
0
NightEagle
1 / 1 / 0
Регистрация: 01.03.2010
Сообщений: 26
18.09.2011, 17:49 #14
не знаю что у тебя игнорируется.. у меня всё работает:

C#
1
2
3
4
5
6
7
8
9
10
            string str = "sdfsdf\nsdf";
            string str2 = "";
            int pos;
            string repl = "$newLine";
            while ((pos = str.IndexOf('\n')) != -1)
            {
                str2 += str.Substring(0, pos)+ repl;
                str = str.Substring(pos + 1);
            }
            str2 += str;
0
al.k
99 / 84 / 6
Регистрация: 08.04.2010
Сообщений: 169
18.09.2011, 18:08 #15
да зачем такие сложности обычный Replace работает, проверено на коде который автор приводил в начале темы. Другой вопрос, что автор не весь код показывает, ту часть где сохранение в файл происходит, а без кода это все гадание на кофейной гуще.

Добавлено через 13 минут
да и еще в Window NewLine == "\n\r", кажется так
0
NightEagle
1 / 1 / 0
Регистрация: 01.03.2010
Сообщений: 26
18.09.2011, 18:18 #16
Цитата Сообщение от al.k Посмотреть сообщение
"\n\r"
если уж на то пошло, то наоборот - "\r\n". Сохранение в файл и я опустил, т.к. оно ни на что не влияет. Насколько я понял, запись идёт через WriteLine, а он просто принимает строку и всё. И читает также - построчно.

А если прочитать внимательно пост #13, то станет понятно что у ТС проблема в том что
Цитата Сообщение от SkarM Посмотреть сообщение
Игнорируется символ \n при замене...
0
SkarM
7 / 7 / 3
Регистрация: 28.10.2010
Сообщений: 220
18.09.2011, 18:35  [ТС] #17
Цитата Сообщение от NightEagle Посмотреть сообщение
если уж на то пошло, то наоборот - "\r\n". Сохранение в файл и я опустил, т.к. оно ни на что не влияет. Насколько я понял, запись идёт через WriteLine, а он просто принимает строку и всё. И читает также - построчно.

А если прочитать внимательно пост #13, то станет понятно что у ТС проблема в том что
Все верно, кроме- вообщет \r- это символ возврата коретки, только каким он тут боком??
0
al.k
99 / 84 / 6
Регистрация: 08.04.2010
Сообщений: 169
18.09.2011, 18:44 #18
просто не ясно

При выводе строки в файл через StreamWriter.WriteLine получаю в файле две строки вместо одной.
или

Игнорируется символ \n при замене...
в чем проблема ?
0
NightEagle
1 / 1 / 0
Регистрация: 01.03.2010
Сообщений: 26
18.09.2011, 18:50 #19
без "или"

Если '\n' игнорируется, то в файл будет действительно записано 2 строки.

SkarM, напиши тот код, что я тебе скинул и радуйся жизни. Или сделай это через Replace:
C#
1
2
3
            string str = "sdfsdf\nsdf";
            string repl = "$newLine";
            str = str.Replace("\n", repl);
0
SkarM
7 / 7 / 3
Регистрация: 28.10.2010
Сообщений: 220
18.09.2011, 19:47  [ТС] #20
Повторяю- через Replace WriteLine записывает две строки. А предыдущий код испытаю чуть позже, т.к. сейчас другим занят.
0
18.09.2011, 19:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.09.2011, 19:47
Привет! Вот еще темы с решениями:

Background -> ToolTip Fuction
Здравствуйте, Столкнулся с проблемой отображения изображения в Background_е,...

Время отображения ToolTip
Здравствуйте! Не подскажите как оргизовать, что бы всплывающее окно (ToolTip)...

Последовательный показ ToolTip подсказок
Здравствуйте, хотел спросить, как можно сделать последовательный показ...

ToolTip по правому клику мыши
Здравствуйте! Не подскажете, как можно вызвать ToolTip по событию...


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

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

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