Я занимаюсь разработкой приложения на C # для связи с сервером MUD / MOO.В основном это берет текст и отображает его на экране.В настоящее время я использую RichTextBox для отображения текста, и у меня цветной текст работает нормально, и мне нужно только реализовать URL-адреса, однако при этом я обнаружил, что добавлять URL-адреса с пользовательским текстом (например, НЕ http://,, как: Нажмитездесь) Мне нужно использовать Win32 API, я не могу этого сделать ... вообще.Это должно работать в моно на Linux (и, возможно, Mac).Есть ли способ заставить это работать?или какие альтернативные пути я должен преследовать?(Я думал о переходе на HTML, но есть ли хороший кроссплатформенный элемент управления HTML?) (Все это ДОЛЖНО быть бесплатным).
Спасибо заранее.
Мне удалось сделатьв конце, используя:
Stack<Link> Links = new Stack<Link>();
internal class Link
{
public int starts = 0;
public int ends = 0;
public string url = "";
}
private string GetLink(RichTextBox rtb, Point point)
{
int index = rtb.GetCharIndexFromPosition(point);
foreach (Link link in Links.ToArray())
if (link.starts <= index && link.ends >= index)
return link.url;
return "";
}
, просто добавьте все ссылки в стек ссылок и используйте GetLink внутри события MouseDown:)