![]() |
|
Модераторы: diadiavova, gambit |
![]()
|
|
| mxmaks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Приветствую Всех и С Новым Годом!
Вопрос в том, чтобы отобразить мигающий курсор (каретку) в конце вводимой информации в текстбоксах? Информация в textbox вводится с кнопок... (без клавиатуры) С клавиатуры курсор отображается нормально, а с кнопок пропадает... В какую обработку его вставить... В VB6 были Hide.Caret и Show.Caret, как реализовать на VB.NET... |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
mxmaks, Просто когда ты нажимаешь на кнопку фокус переводится с текстбокса на нее. Верни его обратно и все.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| mxmaks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Благодарю за отклик, но попытался осмыслить... не получилось...
txt.Focus->btn.Focus->txt.Focus... Как-то так, или я глючу...? |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| mxmaks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
После каждого нажатия на btn?...
Шутка: этого хрена с бугра в нашей деревне всякий знает..., а я с райцентра... А если серьезно, есть функция Caret, думаю, ее надо применять или можно без нее... В VB6 были Hide.Caret и Show.Caret... работали...(вводишь букву, а курсор как положено справа моргает, видно где находишься...) В VB.NET как-то по другому, в MSDN есть инфа, но с ней еще не экспериментировал, подумал кто-нибудь сталкивался с этим... |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Я ведь тебе объяснил причину исчезновения курсора. Дело не в том, что исчезает курсор, а в том, что ты фокус переводишь на другой контрол. Ну это уже твое дело как это реализовывать. Можно сделать так, чтобы на кнопку фокус вообще не переходил (свойство CanFocus), можно обрабатывать событие TextChanged текстбокса и переводить фокус в нем, можно делать это в обработчиках нажатия кнопок.
Но когда на текстбоксе нет фокуса, каретка и там моргать не будет. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| mxmaks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Благодарю...
Буду пробовать... |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Да, и еще одно. Как я понимаю, у тебя будет несколько кнопок, выполняющих одинаковую работу(добавление символа в текстбокс). В данном случае нет смысла обрабатывать клики отдельно, можно вместо этого просто свойству Tag каждой кнопки присвоить тот символ, который она будет добавлять и написать один обработчик для всех кнопок, который будет добавлять значение свойства Tag отправителя события в текстбокс и переводить фокус.
Это сообщение отредактировал(а) diadiavova - 16.1.2011, 23:40 -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| mxmaks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Приветствую!
Все сделал как Вы посоветовали, все работает, только не могу убрать выделение (синий фон, как в системе...) Хотелось, чтобы был только курсор, а выделение сбивает и раздражает... Ищу в MSDN, может есть готовая идея... А кнопки работают в одном обработчике... |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
А ты как текст добавляешь? Если присвоением значения свойству текст, то так и должно быть. Добавляется текст методом AppendText. А выделение не снимается, а просто устанавливается его начало и длина (свойства SelectionStart и Selection Lenght, если мне не изменяет склероз).
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| mxmaks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Приветствую!
Поясню, пишу своему мальчишке "обучалку": форма-текстбокс-кнопки (с буквами и цифрами). Работа мышью (жмет кнопку с буквой или цифрой) и пишет слова или решает примеры... Хотелось, чтобы было красиво, да и самому осмыслить и подучиться... В vb6 вроде все было нормально, а в vb.net споткнулся... Добавляю как String, потом преобразую в Val (если примеры-вычисления) И, кстати, почему в примере 0.4+0.3= не решает, как будто нет одного значения, остальное все решает... Да, текст выделяется, но курсор в конце, а выделение не снимается. При вводе с "клавы" нормально (курсор в конце, текст не выделен). Свойство HideSelection (TextBox) работает, но криво... |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
mxmaks, ты так и не написал как добавляешь текст. Что тут можно сказать? Как можно решать проблему, если нет кода, который ее вызвал. Насколько я помню, при добавлении текста с помощью AppendText этой проблемы быть не должно.
Это опять-таки зависит от того, каким способом ты это решаешь и текстбоксы тут явно не причем. Но думаю, что скорей всего надо в качестве разделителя десятичных разрядов использовать запятую. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| mxmaks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Текст добавляю как стринг, кнопке присвоен символ буквы...
Вычисляет только больше 1 с точкой, перевод из стринга через Val ... Посмотрю на AppendText |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Честно говоря, не знаю как эта функция работает, так что ничего сказать не могу. В дотнете лучше использовать Double.Parse или Double.TryParse, тогда можно будет установить и параметры преобразования(например точку или запятую в качестве разделителя). -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| mxmaks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Добрый вечер!
Посмотри код, может что-то проявится...
... |
|||
|
||||
![]()
|
| Правила форума VB .NET | |
|
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |