Как поставить «X» (очистить текстовое поле) внутри текстового поля? - PullRequest
3 голосов
/ 26 августа 2011

В моем приложении для Windows я хотел бы поставить X по правому краю текстового поля, чтобы очистить его. Подобно тому, что Google использует сейчас. Проверьте Google и выполните поиск чего-либо. Вы увидите X в текстовом поле, как только начнете что-то печатать.

Я знаю, что могу сойти с рук, просто поместив кнопку рядом с текстовым полем. Но я хотел бы сделать что-то более приятное.

Ответы [ 3 ]

3 голосов
/ 26 августа 2011

Кто сказал, что Google поставил X в правом конце текстового поля .... ??

Это не внутри текстового поля поиска Google. это вне этого текстового поля. и только так ты сможешь это сделать. Google использует таблицу, в которой один тд содержит текстовое поле, а другой содержит «X». Они поместили немного CSS, который заставляет вас чувствовать, что X находится внутри текстового поля. Whixh действительно нет.

вот HTML-текст поискового окна Google:

<table cellspacing="0" cellpadding="0" style="width: 100%;"><tbody><tr><td class="gsib_a"><div style="position: relative; width: 100%; height: 25px;"><input type="text" maxlength="2048" name="q" id="lst-ib" class="gsfi" autocomplete="off" size="41" title="Search" value="mysql_num_rows" style="border: medium none; padding: 0pt 0pt 0pt 2px; margin: 0pt; width: 100%; outline: medium none; top: 1px; background: url(&quot;data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw%3D%3D&quot;) repeat scroll 0% 0% transparent; overflow: hidden; position: absolute; z-index: 5; color: transparent;" spellcheck="false" dir="ltr"><div class="gsfi" style="top: 1px; padding: 0pt; white-space: nowrap; position: absolute; width: 100%; color: silver; z-index: 0; text-align: left; left: 3px;" id="gs_tad0" dir="ltr"></div><div class="gsfi" style="position: absolute; top: 1px; background: none repeat scroll 0% 0% transparent; color: rgb(0, 0, 0); padding: 0pt; white-space: nowrap; z-index: 2; left: 3px;" dir="ltr">aol</div><div style="position: absolute; top: 1px; width: 1px; height: 20px; background-color: rgb(0, 0, 0); padding: 0pt; z-index: 4; left: 14px; visibility: hidden;"></div><div class="gsfi" style="position: absolute; top: 1px; background: none repeat scroll 0% 0% rgb(255, 255, 255); color: rgb(255, 255, 255); padding: 0pt; white-space: nowrap; z-index: 1;"></div></div></td><td><table cellspacing="0" cellpadding="0" style="width: 100%;" dir="ltr"><tbody><tr><td class="gsib_e"><div></div></td><td class="gsib_b" style="color: rgb(161, 185, 237);">×</td><td class="gsib_f"><div></div></td><td class="gsib_d"><div></div></td></tr></tbody></table></td></tr></tbody></table>
0 голосов
/ 20 октября 2011

извините, чувак, но, по моему мнению, вы можете сделать это, только добавив кнопку (даже внутри текстового поля) и установив ее так, как при нажатии она очищает текстовое поле

textbox.Clear(); 

Удачи вамЖелаю тебе всего наилучшего

0 голосов
/ 26 августа 2011

Вы можете использовать пользовательскую живопись, чтобы нарисовать маленький красный значок на правой стороне вашего контроля. Добавьте немного кода щелчка мышью, чтобы обнаружить щелчки мыши внутри маленького красного значка, чтобы активировать «любой» пользовательский код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...