Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
kartonio
0 / 0 / 0
Регистрация: 14.02.2018
Сообщений: 22
1

При нажатии на textbox текст стирать, а когда он пустой - возвращать

14.06.2019, 16:13. Просмотров 898. Ответов 3
Метки нет (Все метки)

Есть форма с полями
При нажатии на textbox текст стирать, а когда он пустой - возвращать

Необходимо реализовать такую функцию:
1) При попытке ввода данных в textBox, вспомогающий текст стирался.
Я реализовал это так.
C#
1
2
3
4
5
 private void loginBox_Click(object sender, EventArgs e)
        {
            loginBox.Clear();
            loginBox.ForeColor = Color.Black;
        }
2) Если в textBox не будет данных (допустим, пользователь стер данные и перешел к следующему пункту), то вспомогающий текст возвращался.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2019, 16:13
Ответы с готовыми решениями:

Text Box, стирать текст при нажатии мышью
http://s018.***********/i500/1303/c3/4648ec84613d.png Нужно чтоб при нажатие клавиши мыши, текст...

Как сделать,чтобы из textbox можно было стирать введенный текст?
вот код,он принимает в textbox только буквы,а нужно,чтобы можно было стирать введенный текст:...

При нажатии на textbox выделять текст в нем
Как ?

При нажатии на кнопку передавалть текст из TextBox в контроллер
Доброго времени суток. Как мне сделать так, чтобы при нажатии на кнопку текст передавался в...

Сделать так, чтоб при нажатии на кнопку выходил текст в TextBox
как в VB 6.0 сделать, так чтоб при нажатии на кнопку выходил сохраненный Wordовский текст в...

3
Элд Хасп
Модератор
2447 / 1733 / 588
Регистрация: 21.04.2018
Сообщений: 5,764
Записей в блоге: 2
14.06.2019, 19:14 2
kartonio, в WinForms это немного сложновато, так как у дефолтного TextBox нет возможности установить прозрачный фон.
Самым оптимальным будет создать UserControl состоящий из Label с текстом подсказки и кастомного TextBox с прозрачным фоном (например отсюда Прозрачный BackColor TextBox'a).
Label и TextBox одинакового размера. TextBox находится над Label.
В событии изменения текста TextBox проверяете содержимое свойства Text. Если оно пустое (string.IsNullOrWhiteSpace(String)), то фон у TextBox - прозрачный, иначе - приравнивается к цвету фона Label.
0
Diamante
1476 / 1143 / 694
Регистрация: 14.08.2016
Сообщений: 4,051
Завершенные тесты: 1
15.06.2019, 02:11 3
спешл фор мегатупыхзабаненых в гугле https://stackoverflow.com/questions/18497130/watermark-for-textbox
0
PoPsa85
750 / 514 / 222
Регистрация: 01.07.2018
Сообщений: 1,723
15.06.2019, 11:15 4
Лучший ответ Сообщение было отмечено kartonio как решение

Решение

kartonio, Это называется Placeholder:
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
    public partial class Form1 : Form
    {
 
        string placeholder_text = "Текст подсказки";
        public Form1()
        {
 
            InitializeComponent();
            textBox1.Text = placeholder_text;
            textBox1.GotFocus += new EventHandler(HidePlaceholder);              
            textBox1.LostFocus += new EventHandler(ShowPlaceholder);
        }
 
        public void HidePlaceholder(object sender, EventArgs e)
        {
            if (textBox1.Text == placeholder_text)
            {
                textBox1.Text = "";
            }
        }
 
        public void ShowPlaceholder(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(textBox1.Text))
                textBox1.Text = placeholder_text;
        }
2
15.06.2019, 11:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2019, 11:15

Как сделать, чтобы при первом нажатии на textbox текст стирался?
В textbox первоначально написан текст / не могу придумать ,чтоб при первом нажатии текст стирался...

Вывести текст в TextBox на первой форме при нажатии button на второй
Здравствуйте! Есть две формы, на первой есть textBox1 а на второй кнопка. Нужно сделать так, что...

Как сделать чтоб в textbox при нажатии мышкой выделялся текст
Вы мне не подскажите, как сделать чтоб в textbox при нажатии мышкой выделялся текст...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru