Как удалить последний введенный символ (символы), если ширина TextBox больше 75
1- Скопируйте и вставьте следующий код в файл MainWindow.xaml.
2- Скопируйте и вставьте следующий код в файл код позади.
3- Запустите этот проект и добавьте несколько символов в TextBox1.
Как удалить последний введенный символ (символы), если ширина TextBox1 больше 75?
Как предотвратить ввод символов в TextBox1, если ширина TextBox1 больше 75?
So this question is about textbox width in pixels.
Вы имеете в виду ограничение максимального количества символов, которые можно ввести, или максимальное значение ширина элемента управления? Я думаю, вы имеете в виду количество символов. В любом случае элемент управления TextBox имеет свойства MaxLength, MaxWidth, MaxHeight, MaxLines, где MaxLength — максимальное количество символов, которое может принять элемент управления.
@Jimi Я уже пытался использовать свойство MaxLength, но свойство MaxLength мне не подходит. Например, Jimi состоит из 4 символов, Dann состоит из 4 символов. Но Jimi длина и Dann длина не равны. Потому что каждый символ в алфавите имеет разную ширину. w — самый широкий символ, i — самый узкий символ.
Ах, вы имеете в виду длину текста в пикселях? форматированный текст можно использовать для измерения длины строки в пикселях. Или TextRenderer.Measuretext. Это зависит от того, какой метод вам удобнее. Вы можете измерить строку и удалить последний введенный символ, если длина строки больше значения.
Да, я имею в виду длину текста в пикселях.
Смотрите ответ здесь. Оба метода используются для измерения длины строки в пикселях.
@Jimi Спасибо за ссылки, которые вы разместили, но ни одна из приведенных выше ссылок не решает мою проблему.
Ну, может быть, если вы объясните, почему эти методы не могут решить вашу проблему, будет более понятно, в чем проблема. Вы имеете в виду, что не можете получить правильную меру текста или не знаете, как использовать эту меру?
Размер форматированного текста невозможно подогнать под ширину текстового поля. Измерение форматированного текста отличается от измерения ширины текстового поля.
Как удалить последний символ из TextBox?
Я пытаюсь написать копию Калькулятора MS Windows — просто чтобы применить знания, которые я приобрел в курсе, который я делаю — и у меня проблемы с написанием Возврат на одну позицию ключ, но я понятия не имею, как удалить последний символ на TxtResult.Text (Текстовое окно). Итак, может ли кто-нибудь научить меня, как это сделать?
задан 13 сен ’12, 01:09

Вам нужно будет показать, какой код вы уже написали. — Yuck
В моем случае реализации на основе подстрок нежелательны, потому что они вызывают мерцание при выполнении в быстрой последовательности. — WonderWorker
Чего ты пытаешься достичь, @Knickerless-Noggins? Я написал этот вопрос давным-давно, так что я мог бы лучше помочь сейчас. — Zignd
Вместо замены текстовой строки элемента управления новой мне нужен способ удалить последний символ из существующего текста. Замена всей строки приводит к мерцанию при многократном выполнении в быстрой последовательности. — WonderWorker
Как удалить последний символ строки в C #?
У меня есть числовая строка, которая может быть «124322» или «1231.232» или «132123.00» . Я хочу удалить последний символ моей строки (что бы это ни было). Поэтому я хочу, чтобы моя строка «99234» стала «9923» .
Длина строки является переменной. Это не константа, поэтому я не могу использовать string.Remove или trim или некоторые вроде них (я думаю).
Как мне это достичь?
5 ответов
newString = yourString.Substring(0, yourString.length -1);
Если это то, что вам нужно сделать много в вашем приложении, или вам нужно связать разные вызовы, вы можете создать метод расширения:
или прикованный цепью:
Если вы используете string тип данных, ниже работает код:
Но когда у вас есть StringBuilder , вы также должны указать length второго параметра.