转自:C#中TextBox水印提示的简单实现
例:
网上的实现方案基本上都是类似的,自己写一个类来继承TextBox,添加一个Label到TextBox中,
如这篇 http://blog.csdn.net/sqshine/article/details/3648965
对于我仅需要两个TextBox有提示信息或者说登陆界面中仅一个Combobox和一个TextBox需要提示信息的情况来说,总感觉有点小题大做,而且界面已经画好了,不愿再动的懒人来说,这太麻烦
于是下面是我简单的实现,符合我的要求:

- 界面上放一个
Combobox和一个TextBox,name分别为cbUser和tbPwd - 在
cbUser和tbPwd上再分别放一个Label,name分别为labelUser和labelPwd,Text为输入用户名和输入密码 在LoginForm.cs中添加一个事件处理方法

private void textChanged(object sender, EventArgs e)
{
if (sender.Equals(cbUser))
{
labelUser.Visible = cbUser.Text.Length < 1;
}
else if (sender.Equals(tbPwd))
{
labelPwd.Visible = tbPwd.Text.Length < 1;
}
}
最后,将
cbUser和tbPwd的TextChanged事件设置为上面的textChanged方法

完工!!
这样得到的效果是:
- 登陆界面输入框内容为空时,有上述截图中的提示效果(label可见)
- 只要登陆界面输入框中有输入字符,就不会出现提示(label不可见)
感谢情若天_RunUp的提醒,上面的实现存在一个问题,鼠标如果点中的如果是label的部分,那么焦点是不在textbox里面的,可能会带来误解,看来还是上面提到的类继承`TextBox`来实现的方式比较通用。
下面本文的一个补救措施,两个Label的Click事件处理,已经违背了简单原则了,-_-b

private void label_Click(object sender, EventArgs e)
{
if (sender.Equals(labelUser))
{
cbUser.Focus();
}
else if (sender.Equals(labelPwd))
{
tbPwd.Focus();
}
}
转自:C#中TextBox水印提示的简单实现的更多相关文章
- WPF 中TextBox 增加输入检测,错误提示
先来总结下实现错误提示功能的几个要点 1:binding 的ValidationRules 2 :Validation.ErrorTemplate 首先我们在界面添加一个TextBox, Text绑定 ...
- 实现password框中显示文字提示的方式
其实实际上实现中并不能让password中显示文字提示,但是我们在工作中有这样的需求,当没输入东西的时候,框内有提示输入密码,但是当输入东西的时候又显示的是*号,那么是如何实现的呢?其实原理很简单,就 ...
- [转载]ASP.NET中TextBox控件设立ReadOnly="true"后台取不到值
原文地址:http://www.cnblogs.com/yxyht/archive/2013/03/02/2939883.html ASP.NET中TextBox控件设置ReadOnly=" ...
- ***PHP中error_reporting()用法详解(含codeigniter框架中屏蔽错误提示的解决方案)
php中我们对错误的处理会常用到error_reporting函数了,大家可以看到最多的是error_reporting(E_ALL ^ E_NOTICE)了,这个到底什么意思呢,下面我来来看看. e ...
- asp.Net2.0中TextBox设置只读后后台获取不到值的解决方法
http://www.cnblogs.com/yxyht/archive/2013/03/02/2939883.html ASP.NET中TextBox控件设置ReadOnly="tru ...
- 在ASP.NET中引用自定义提示框
在html网页中自定义提示框 正文: 在一般的B/S架构中项目,与用户的交互信息是非常重要的.在一般的情况下,设计人员都在把用户信息呈现在html中,用div和span去弹出相关信息.对于一般的情况而 ...
- js获取gridview模板列中textbox行列的值
下面一个例子:在gridview中第一列输入数值,第二列输入数值,点击第三列的时候进行计算 求和,如果不符合标记为红色字体. 如图: 代码 : <html xmlns="http:// ...
- 小技巧:SystemTray中进行操作提示
SystemTray中进行操作提示在wp中应用比较广泛,截图如下. 实现方法也十分简单 1.xaml代码中写入: shell:SystemTray.IsVisible="True" ...
- MyEclipse 10.x中拓展自动提示功能
原文转自:MyEclipse 10.7中拓展自动提示功能 在myeclipse 9以前的版本中,我们如果要为html编辑器添加自动的代码提示可以这样操作: 1.windows-->prefere ...
随机推荐
- UIPopoverController 的使用
#import "ViewController.h" #import "RYColorSelectController.h" #import "RYM ...
- 数字信号处理实验(四)——数字滤波器结构
一.滤波器结构 1.IIR滤波器 (1)系统函数 (2)差分方程 (3)级联形式: (4)并联形式 2.FIR滤波器 (1)系统函数 (2)差分方程 (3)级联形式: (4 ...
- Linux环境变量设置指南
以配置java环境变量为例 目录 [隐藏] 1 修改/etc/profile文件 2 修改用户目录下的.bash_profile 3 修改.bashrc文件 4 直接在shell下设置 5 查看环境 ...
- windows下cmd操作
进入文件夹:cd 文件夹名 列出文件列表:dir 清屏:cls
- RecyclerView 介绍 01
RecyclerView是Android support v7里面是一个自定义控件.用来显示大量数据集合.类似ListView和GridView这两个控件,RecyclerView同样可以实现,甚至更 ...
- JDK 伪异步编程(线程池)
伪异步IO编程 BIO主要的问题在于每当有一个新的客户端请求接入时,服务端必须创建一个新的线程处理新接入的客户端链路,一个线程只能处理一个客户端连接.在高性能服务器应用领域,往往需要面向成千上万个客户 ...
- (转)ACM next_permutation函数
转自 stven_king的博客 这是一个求一个排序的下一个排列的函数,可以遍历全排列,要包含头文件<algorithm>下面是以前的笔记 (1) int 类型的next_permuta ...
- Codeforces Round #354 (Div. 2)-C
C. Vasya and String 题目链接:http://codeforces.com/contest/676/problem/C High school student Vasya got a ...
- css随记01编辑技巧,背景与边框
代码优化 一个按钮的例子,使其值同比例变化; button{ color: white; background: #58a linear-gradient(#77a0bb, #58a); paddin ...
- windows 安装oracle 后,所有服务都是什么意思,需要开户吗?
中的方法成功安装Oracle 11g后,共有7个服务,这七个服务的含义分别为: 1. Oracle ORCL VSS Writer Service: Oracle卷映射拷贝写入服务,VSS(Volum ...