Да это вопрос о лени. За все время никогда не парился переписать логику менюшки. Там на 10 строк кода. А вот вашу тему почитал и решил погуглить. А там вагон и маленькая телега всяких компонентов на любой вкус. Что вам мешало гуглить перед распросами?
Ну вот я погуглил и скинул вам рабочий класс расширения. Пользуйтесь.
Это называется профдеформаця. Если сравнивать время когда информация и знания добывались курением оригинальных мануалов и пересказыванием чужих наработок и нынешнее время когда любая информация доступна по одному лишь клику мыши … нежелание некоторых пользоваться общедоступными информационными ресурсами немного выводит … все просят разжевать и в рот положить.
Так полно уже оберток. Гугл миллиард решений предлагает. Одно из них скинул выше.
На то время это был единственный рабочий вариант. Затем появились новые технологии и переделывать старые контролы стало нерационально. Ну или как то так.
Во внутренних свойствах. Почти нереально переопределить логику работы контрола в производных классах. Костыли возникают почти регулярно при малейшем изменении стандартной логики обработки.
Сейчас есть рабочие контролы для отображения форматированного текста. И может поэтому никто и не парится над расширением стандартного компонента. Все ползуют более навороченные элементы которые свободны и лишены недостатков.
Ну тогда не удивлятесь, что некоторые не хотят/не умеют искать нужную информацию
Но ведь у Борланда это как-то получилось (TMemo называется) и до сих пор работает. Почему сами создатели WinAPI такой простой мелочи сделать не смогли?
У меня психоблок на использование сторонних компонентов. Особенно такой элементарной хрени, как поле для ввода текста. Ради этого тянуть сторонний компонент?
А что если разработчик просто забьёт на обновление и т.д. ?
Ох… ну жесть пример. Эта контора остановилась в развитии уже двести лет назад. Они вообще ничего толкового с тех пор и не сделали. Десятилетиями перепродают один и тот же продукт в новой упаковке…
Тяжко вам придется.
Это не поле ввода а элемент для визуализации форматированного текста. Со своим языком и правилами. Если вам нужно просто текст то берите текстбокс и там будет ваше меню по умолчанию.
У вас основная задача меню чтоли или что?? Сторонний компонент для вывода структурированного текста, с новыми особенностями и более удобной разметкой. С какими то более удобными функциями обработки кликов или еще чего.
Ну майкрософт же забила на формсы и ничего, вы до сих пор пользуетесь. ))
Да и обновление это вид наркотика без которого нельзя жить что ли?? Если есть нормальная либа и она удовлетворяет всем потребностям приложения и пользователя то зачем ее обновлять?
При чём тут дата остановки? Вы же поняли, что я говорю про Delphi и её TMemo, которое до сих пор работает и меню там не проблема. Или не поняли? Если поняли, то какая разница, кто её сейчас релизит?
Зачем вы так? Вы же поняли.
Просто текст вставить стандартным способом. Почему этого стандартного способа за 20 лет не появилось в стандартном наборе? Это уже, скорее, риторический вопрос. А то опять подумаете, что наезд.
Я про обновление сторонних компонентов. Если их, вдруг, резко перестанут обновлять под новый C#, тогда что?
Так там не RichEdit внутри, а скорее всего то же, что у винформс текстбокса.
В RichEdit меню тоже нет и у Борланда: Context menu in TRichEdit ? - delphi
Про доработки речь скорее о другом была: если вам понадобится поменять что-то в том, как отображается контрол винформс/дельфи, например, рамку какую-нибудь нарисовать, плейсхолдер в поле ввода добавить, то буднт дико сложно и ненадежно, придется всё перерисовывать самому.
Да пофиг, как оно называется и что внутри. Главное, что сразу есть минимально необходимый функционал без необходимости что-то допиливать вручную. И не важно, насколько это просто или сложно. Простой, а тем более стандартный, функционал должен быть уже сразу. Тем более, если 20 лет прошло, а у конкурентов сразу был.
Ну это уже другой вопрос. У WinForms есть аналог (WPF, вроде). То есть, есть на что переходить.
А у сторонних компонентов, как выяснилось, стандартных аналогов может и не быть. То есть, если что, то заменить будет нечем.
Как не было? A TMemo с его стандартной менюшкой это что?
Это ведь наоборот в C# у RichTextBox своей менюшки нет.
И не важно, что внутри они разные. Я не про это
Так и не понял чем вас так заводят обновления?? Для вас принципиально чтобы было новое или чтобы было рабочее?
Серьезно?? Нечем заменить?? Ну даже если такое и случится обычно берут и пишут свой компонент с необходимым функционалом. Очень часто приходится так делать даже если и есть какой то готовый аналог. Потому что в либу могут запихать всего что только можно и либа начинает весить 200 гигов. Поэтому разработка своих компонентов это не костыль а вполне человеческая возможность получить то что нужно в конкретном случае.
Непривычно использовать текстовый компонент для ввода и редактирования простого текста??? Математические методы тоже например со времен архимеда существуют. И нормально все пользуются и все работает. Да множество в этом мире создано древними и до сих пор успешно используется.
Вам для начала нужно определится с задачей которую вы решаете и потенциальным пользователем.
Если вам просто надо ввести логин и пароль в поля то тут ричбокс не нужен вообще. От слова совсем. Достаточно как вы говорите устаревшего текстбокса даже без мультилайн.
А если нужен форматированный текст да еще с какими нибудь плюшками то вот есть либа
Хотя… наверное вам она не подойдет. Она же 15 года. А вам нужно только максимально свежее, а не рабочее. )))
не совсем понятно что вы имеете в виду, но Action это тоже делегат. Если вы про лямбды то очевидно же что их придумали для сокращения и упрощения кода. Одну строчку прочитать легче чем несколько. В больших проектах заметно упрощает восприятие.
Еще раз говорю, все зависит от поставленной задачи и требуемого функционала.
Вообще сам ричтекст уже не так актуален видимо. На смену ему пришел html. Вот и контрол уже готовый есть. Наверное ест и рич и хтмл. Еще обещают что жабу поддерживает.
А чего б им не работать? Винформс 100500 лет почти не меняется, да и вообще изменения ломающие совместимость стараются не вносить в язык, .NET и т.п.
Проблемы вроде могут быть если перейти на .NET Core/.NET 5 (Непонятки с .Net 5.0), но обычно в этом нет необходимости и обычный .NET Framework наверняка еще кучу лет будут поддерживать.
Ну и если компонент опенсорс, то всё решаемо.
Ну конечно мне так и не понятно почему вопрос обновления такой прям неимоверно важный. Пользователи в массе своей это ленивый бездельники. Им очень сложно переучиваться. И если есть приложение пусть костыльное но рабочее то они на 99% предпочтут остаться на нем и ничего не трогать чем регулярно получать новые фичи.
Да и если у вас крупная сеть организаций то эти фичи превращаются просто в кошмарный ад. Для примера того как делать не надо можно взять 1с. Выпустили обнову и положили всю сеть магазинов. Потому что какой то сверхумный разраб решил поменять названия половины ключевых методов на названия “лучше отражающие суть методов”.