Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 28

Не получается заставить сработать метод "SelectAll"

10.01.2013, 14:05. Показов 2998. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Требуется что бы при событие "Enter" в textbox и наличие в нём текста "0" происходило выделения всего содержимого этого textbox'a

Если делаю так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class plusdouble_ : TextBox
    {
        public plusdouble_()
        {
            this.Enter += new EventHandler(plusdouble_Enter);
        }
 
        void plusdouble_Enter(object sender, EventArgs e)
        {
            if (this.Text == "0")
            {
                SelectAll();
            }
        }
    }
то не срабатывает - не выделяется.
А если добавить в код "MessageBox.Show("a");" то всё выделяется
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class plusdouble_ : TextBox
    {
        public plusdouble_()
        {
            this.Enter += new EventHandler(plusdouble_Enter);
        }
 
        void plusdouble_Enter(object sender, EventArgs e)
        {
            if (this.Text == "0")
            {
                SelectAll();
                MessageBox.Show("a");
            }
        }
    }
Как заставить срабатывать "SelectAll();" без "MessageBox.Show("a");" или что-то совсем делаю не так?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.01.2013, 14:05
Ответы с готовыми решениями:

JavaScript: как заставить сработать
Добрый день, есть вопрос. Допустим у меня есть вэб-страница, на которой имеется кнопка, при нажатии на которую срабатывает определенная...

Как заставить сработать sizeHint у делегата
Здравствуйте. Делегат для таблици. передается List, каждый элемент выводятся в одной ячейке с новой строчки. Размер ячейки...

Как заставить функцию сработать без клика по кнопке
Есть инпут, при вводе туда адреса и нажатии на кнопку, рисуется ЯКарта с введенным адресом. Как заставить это все сработать без клика по...

13
174 / 174 / 57
Регистрация: 08.01.2013
Сообщений: 335
10.01.2013, 14:18
Может как-нибудь так:
C#
1
2
3
4
5
6
7
8
     
 private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter && textBox1.Text == "0")
            {
                textBox1.SelectAll();
            }
        }
или попробовать в вашем случае textBox1.Update()?
0
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 28
10.01.2013, 14:37  [ТС]
"Enter" имею ввиду получение фокуса textbox'ом/вход в textbox, а не нажатие клавиши.
0
174 / 174 / 57
Регистрация: 08.01.2013
Сообщений: 335
10.01.2013, 15:07
чет я нифига не понял, что вам нужно... есть форма, на ней текстбокс, нажимаешь "Enter", выделяется текст в текстбоксе, или как?
0
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 28
10.01.2013, 15:10  [ТС]
есть форма, на ней текстбокс, тексбокс получает фокус и если в нём есть текст "0" или "0.", то идёт выделение всего содержимого текстбокса
0
174 / 174 / 57
Регистрация: 08.01.2013
Сообщений: 335
10.01.2013, 15:19
может тогда так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.KeyPreview = true;
        }
 
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
 
            if (e.KeyCode == Keys.Enter)
            {
                if (textBox1.Text == "0" || textBox1.Text == "0.")
                {
                    textBox1.SelectAll();
                }
            }
           
        }
    }
}
перехватываем нажатие клавиши Enter, потом проверяем что в текстбоксе, если 0 то выделяем все
0
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 28
10.01.2013, 15:37  [ТС]
Сергей, спасибо за помошь, но здесь вообще не происходит нажатия клавиши "Enter". Я исходный текстбокс переделываю так, что бы он принимал только положительные десятичные цифры - это работает, захотел его ещё улучшить - если тексбокс получает фокус (либо через Tab, либо щелчком мыши, или как-то ещё) и если в нём есть текст "0" или "0.", то идёт выделение всего содержимого текстбокса.
0
21 / 21 / 1
Регистрация: 26.03.2012
Сообщений: 157
10.01.2013, 16:27
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 private void textBox1_Click(object sender, EventArgs e)
        {
            textBox1.SelectAll();
        }
 
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Tab)
            {
                if (textBox1.Text == "0" || textBox1.Text == "0.")
                {
                    textBox1.SelectAll();
                }
            }
        }
вот вроде, то что тебе нужно)
1
14 / 14 / 4
Регистрация: 31.12.2012
Сообщений: 71
10.01.2013, 16:37
C#
1
2
3
4
5
private void textBox1_Enter(object sender, EventArgs e)
        {
            if ((textBox1.Text == "0") || (textBox1.Text == "0."))
                textBox1.SelectAll();
        }
1
174 / 174 / 57
Регистрация: 08.01.2013
Сообщений: 335
10.01.2013, 16:44
Цитата Сообщение от folkoru Посмотреть сообщение
Сергей, спасибо за помошь, но здесь вообще не происходит нажатия клавиши "Enter". Я исходный текстбокс переделываю так, что бы он принимал только положительные десятичные цифры - это работает, захотел его ещё улучшить - если тексбокс получает фокус (либо через Tab, либо щелчком мыши, или как-то ещё) и если в нём есть текст "0" или "0.", то идёт выделение всего содержимого текстбокса.
так вроде же есть событие у текстбокса Enter - возникает когда объект становиться активным

Добавлено через 53 секунды
Lirik5, опередил)
0
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 28
10.01.2013, 17:04  [ТС]
Так в этом и есть проблема - в топике написал - когда в обработке события "textBox_Enter" есть только "SelectAll();", то выделения содержимого не происходило, а когда добавлял в обработку события к "SelectAll();" ещё "MessageBox.Show("a");", то выделение содержимого происходило - вот тут есть для меня загадка почему так происходит.

Через обработку события "textBox_Click" предложенного Aleks Nice выделение содержимого происходит при наличии в обработке события только лишь "SelectAll();".
0
174 / 174 / 57
Регистрация: 08.01.2013
Сообщений: 335
10.01.2013, 17:08
странно, а у меня все работает через событие "Enter"
0
 Аватар для Игрок_со_Смерть
37 / 37 / 6
Регистрация: 06.01.2013
Сообщений: 195
10.01.2013, 17:17
У меня тоже всё работает=)

Попробуй передавать фокус например на форму или обратно на TextBox
Form1.focus(); или TextBox1.focus();
1
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 28
10.01.2013, 17:17  [ТС]
Может комп загадочен - тоже моя тема, жаль что осталась без ответа - Пропала строка "меню" в приложении после построения
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.01.2013, 17:17
Помогаю со студенческими работами здесь

Можно ли как-то заставить сработать одновременно все case у оператора switch?
Вопрос в заголовке темы:)

Как из VB как бы программно заставить форму сработать?
в VB Есть контрол на форме WEBBrouser. В него загружена форма <FORM>...</FORM>. Форма срабатывает по клику над определенной картинкой. Как...

Не получается заставить питон говорить
Здравствуйте, помогите решить проблему, не могу заставить питон говорить.

FastProg программатор, не получается заставить работать
Всем доброго времени суток. Когда-то давно прикупил себе Fastprog программатор аналог mkii. Шил им xmega и attiny2313. Все было хорошо....

Не получается заставить CMake работать с boost
Сколько уже перечитал топиков - без толку. Не работает. Имеется: - Windows 10 - CLion 2018.1.6 - CMake 3.12 - Boost 1.67.0 -...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru