要求:
1.用户名必须为字母。
 //限定用户名必须为字母
private void txtName_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar >= 'a' && e.KeyChar <= 'z') || (e.KeyChar >= 'A' && e.KeyChar <= 'Z'))
{
e.Handled = false;
}
else {
MessageBox.Show("用户名只能为字母!");
e.Handled = true;
}
}
2.光标进入文本框时背景蓝色,文字白色;光标离开文本框时,背景白色,文字黑色。
界面:
   //光标进入文本框时,背景为蓝色,字体为白色;
//光标离开文本框时,背景为白色,字体为黑色。
private void txtName_Enter(object sender, EventArgs e)
{
txtName.ForeColor = Color.White;
txtName.BackColor = Color.Blue;
} private void txtName_Leave(object sender, EventArgs e)
{
txtName.BackColor = Color.White;
txtName.ForeColor = Color.Black;
}

3.当输入用户名“admin”和密码“123”之后,单击”确定“按钮,系统将弹出消息框以显示输入正确,否则显示用户名或密码错误的提示信息。

 private void btnLogin_Click(object sender, EventArgs e)
{
string userName = txtName.Text;
string password = txtPwd.Text;
if (userName == "admin" && password == "")
{
MessageBox.Show("欢迎进入个人理帐系统!", "登陆成功!", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("您输入的用户名或密码错误!", "登录失败!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}

4.单击”取消“按钮,清除输入信息,并将光标定位在txtName文本框中。

   private void btnCancel_Click(object sender, EventArgs e)
{
txtName.Text = "";
txtPwd.Text = "";
txtName.Focus();
}

5.最终界面:

 
小技巧:为label设置Image属性,为了让图片完整显示出来,需要把label的AutoSize属性设置为false,然后适当拉大label大小。还要注意,ImageAlign属性设置为MiddleLeft,TextAlign属性设置为MiddleRight。
 

Notice:

(1)ico:是Windows图标文件格式的一种,可以存储单个图案、多尺寸、多色板的图标文件。
(2)MessageBox:消息框,显示一个模态对话框,其中包含一个系统图标、 一组按钮和一个简短的特定于应用程序消息,如状态或错误的信息。
(3)Button的快捷键通过设置Text属性为”取消(&C)“实现。
(4)此练习使用的软件为Visual Studio 2012,图形资源由VS提供,据说在VS的安装文件夹Common7\ImageLibrary中能找到,没有的话,可以到官网下载。

最新文章

  1. 基于CkEditor实现.net在线开发之路(4)快速布局,工具箱,模板载入,tab选项卡简单说明与使用
  2. pptp 之 静态路由
  3. (转载)持续集成(第二版)[来自:Martin Fowler]
  4. Azure ARM (9) 创建ARM模式下的虚拟机网络
  5. SSH服务器与Android通信(2)--Android客户端接收数据
  6. (六)文件操作的主要接口API
  7. C 高级编程3 静态库与动态库
  8. Python 异常结构
  9. Node.js包(JXcore)
  10. NSURLConnection获取数据
  11. autochannel 指定栏目
  12. 1724: [Usaco2006 Nov]Fence Repair 切割木板( 贪心 )
  13. 浅谈长尾理论--《Makers》读后感
  14. ajax中的stasus错误详解
  15. 依赖lean cloud的注册与登录
  16. Java 7 Fork/Join 框架
  17. 爬取西刺ip代理池
  18. C# 使用委托实现多线程调用窗体的四种方式
  19. 《Windows核心编程》第3章——深入理解handle
  20. Ubuntu18.04下希捷移动硬盘Seagate Backup Plus读写慢

热门文章

  1. 『设计前沿』14款精致的国外 iOS7 图标设计示例
  2. 算法解读:s变量和数组
  3. ok6410 android driver(10)
  4. office2016 软件全集 官方下载免费完整版(含破解文件)不含垃圾软件 win10完美激活
  5. JavaScrip
  6. Python基础:元类
  7. u-boot移植总结(三)(转)S3C2440对Nand Flash操作和电路原理(基于K9F2G08U0A)
  8. KMA &amp; ex_KMP---Revolving Digits
  9. 中国各城市PM2.5数据间的相关分析
  10. 多准则决策模型-TOPSIS方法