本文转自:
原作者: js2854
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

例:

网上的实现方案基本上都是类似的,自己写一个类来继承TextBox,添加一个LabelTextBox中,

如这篇 http://blog.csdn.net/sqshine/article/details/3648965

对于我仅需要两个TextBox有提示信息或者说登陆界面中仅一个Combobox和一个TextBox需要提示信息的情况来说,总感觉有点小题大做,而且界面已经画好了,不愿再动的懒人来说,这太麻烦

于是下面是我简单的实现,符合我的要求

  • 界面上放一个Combobox和一个TextBox,name分别为cbUsertbPwd
  • cbUsertbPwd上再分别放一个Label,name分别为labelUserlabelPwd,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;
    }
    }
  • 最后,将cbUsertbPwdTextChanged事件设置为上面的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水印提示的简单实现的更多相关文章

  1. WPF 中TextBox 增加输入检测,错误提示

    先来总结下实现错误提示功能的几个要点 1:binding 的ValidationRules 2 :Validation.ErrorTemplate 首先我们在界面添加一个TextBox, Text绑定 ...

  2. 实现password框中显示文字提示的方式

    其实实际上实现中并不能让password中显示文字提示,但是我们在工作中有这样的需求,当没输入东西的时候,框内有提示输入密码,但是当输入东西的时候又显示的是*号,那么是如何实现的呢?其实原理很简单,就 ...

  3. [转载]ASP.NET中TextBox控件设立ReadOnly="true"后台取不到值

    原文地址:http://www.cnblogs.com/yxyht/archive/2013/03/02/2939883.html ASP.NET中TextBox控件设置ReadOnly=" ...

  4. ***PHP中error_reporting()用法详解(含codeigniter框架中屏蔽错误提示的解决方案)

    php中我们对错误的处理会常用到error_reporting函数了,大家可以看到最多的是error_reporting(E_ALL ^ E_NOTICE)了,这个到底什么意思呢,下面我来来看看. e ...

  5. asp.Net2.0中TextBox设置只读后后台获取不到值的解决方法

    http://www.cnblogs.com/yxyht/archive/2013/03/02/2939883.html   ASP.NET中TextBox控件设置ReadOnly="tru ...

  6. 在ASP.NET中引用自定义提示框

    在html网页中自定义提示框 正文: 在一般的B/S架构中项目,与用户的交互信息是非常重要的.在一般的情况下,设计人员都在把用户信息呈现在html中,用div和span去弹出相关信息.对于一般的情况而 ...

  7. js获取gridview模板列中textbox行列的值

    下面一个例子:在gridview中第一列输入数值,第二列输入数值,点击第三列的时候进行计算 求和,如果不符合标记为红色字体. 如图: 代码 : <html xmlns="http:// ...

  8. 小技巧:SystemTray中进行操作提示

    SystemTray中进行操作提示在wp中应用比较广泛,截图如下. 实现方法也十分简单 1.xaml代码中写入: shell:SystemTray.IsVisible="True" ...

  9. MyEclipse 10.x中拓展自动提示功能

    原文转自:MyEclipse 10.7中拓展自动提示功能 在myeclipse 9以前的版本中,我们如果要为html编辑器添加自动的代码提示可以这样操作: 1.windows-->prefere ...

随机推荐

  1. Oracle 11g新特性 -- 延迟段

    11gR2之前的版本中,当创建一张表时,会自动分配段空间,这样做有几个弊端: 1. 初始创建表时就需要分配空间,自然会占用一些时间,如果初始化多张表,这种影响就被放大. 2. 如果很多表开始的一段时间 ...

  2. js 随机星星 document.createElement(); setAttribute()

    js 随机星星 document.createElement(); setAttribute() <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...

  3. memcached基于socket访问memcache缓存服务器

    memcached基于socket访问memcache缓存服务器 操作memcache常用三种方法: .memcache基于php_memcache.dll扩展(php扩展) .memcached基于 ...

  4. 求CRC校验和的低位和高位的两种方式

    方式1 unsigned ; // 校验和 ]; memcpy(tstCRCChecksum,&shrCRCCheckSum,); // shrCRCCheckSum:216D LOGI(]) ...

  5. POJ 3241 Object Clustering 曼哈顿最小生成树

    Object Clustering   Description We have N (N ≤ 10000) objects, and wish to classify them into severa ...

  6. whl文件安装

    进入whl文件的目录,直接pip install ...即可

  7. 标准MDL方法修改Page、NonPage内存的属性

    typedef struct _REPROTECT_CONTEXT { PMDL   Mdl; PUCHAR LockedVa; } REPROTECT_CONTEXT, * PREPROTECT_C ...

  8. 15 个 Android 通用流行框架大全

      1. 缓存 名称 描述 DiskLruCache Java实现基于LRU的磁盘缓存 2.图片加载 名称 描述 Android Universal Image Loader 一个强大的加载,缓存,展 ...

  9. Linux学习笔记(4)Linux常用命令之权限管理命令

    (1)chmod chmod命令用于改变文件或目录权限,英文原意为change the permissions mode of a file,所在路径为/bin/chmod,其语法格式为: chmod ...

  10. T-SQL 使用WITH高效分页

    一.WITH AS 含义     WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到.有的时候, ...