Winform技巧:登录窗体的19种效果

1.用户名为空时,文本框变颜色
2.进入到用户名后,恢复为原来颜色
3.当用户名超过4位时,登录按钮不可用,并且提示
4.双击用户名文本框,登录按钮可用
5.当用户名超过6位时,弹出错误提示
6.按回车进入下一个文本框
7.关闭窗体时,弹出是否关闭的对话框
8.按ENter=按登录,按Esc=按退出
9.防止窗体在任务栏出现
10.去掉最大化或最小化按钮
11.默认最大化的显示窗体
12.设置显示窗体中屏幕的中间
13.鼠标经过用户名文本框附近出现提示语
14.修改登录按钮为圆形
15.简单的验证码
16.填写的验证码必须是数字的验证
17.设置窗体与背景图片一样大小
18.防止用户使用Alt+F4关闭窗体
 19.运行后,无法拖放窗体,两种方法
InBlock.gif using System; 
InBlock.gif using System.Collections.Generic; 
InBlock.gif using System.ComponentModel; 
InBlock.gif using System.Data; 
InBlock.gif using System.Drawing; 
InBlock.gif using System.Linq; 
InBlock.gif using System.Text; 
InBlock.gif using System.Windows.Forms; 
InBlock.gif using System.Collections; 
InBlock.gif using System.Drawing.Drawing2D; 
InBlock.gif using System.Text.RegularExpressions; 
InBlock.gif 
InBlock.gif namespace 窗体练习 
InBlock.gif
InBlock.gif         /********************************* 
InBlock.gif         * 1.用户名为空时,文本框变颜色 
InBlock.gif         * 2.进入到用户名后,恢复为原来颜色 
InBlock.gif         * 3.当用户名超过4位时,登录按钮不可用,并且提示 
InBlock.gif         * 4.双击用户名文本框,登录按钮可用 
InBlock.gif         * 5.当用户名超过6位时,弹出错误提示 
InBlock.gif         * 6.按回车进入下一个文本框 
InBlock.gif         * 7.关闭窗体时,弹出是否关闭的对话框 
InBlock.gif         * 8.按ENter=按登录,按Esc=按退出 
InBlock.gif         * 9.防止窗体在任务栏出现 
InBlock.gif         * 10.去掉最大化或最小化按钮 
InBlock.gif         * 11.默认最大化的显示窗体 
InBlock.gif         * 12.设置显示窗体中屏幕的中间 
InBlock.gif         * 13.鼠标经过用户名文本框附近出现提示语 
InBlock.gif         * 14.修改登录按钮为圆形 
InBlock.gif         * 15.简单的验证码 
InBlock.gif         * 16.填写的验证码必须是数字的验证 
InBlock.gif         * 17.设置窗体与背景图片一样大小 
InBlock.gif         * 18.防止用户使用Alt+F4关闭窗体 
InBlock.gif         * 19.运行后,无法拖放窗体,两种方法 
InBlock.gif         */
 
InBlock.gif         public partial  class 登录 : Form 
InBlock.gif        { 
InBlock.gif              public 登录() 
InBlock.gif                { 
InBlock.gif                        InitializeComponent(); 
InBlock.gif                         this.AcceptButton = button1; //8 
InBlock.gif                         this.CancelButton = button3; 
InBlock.gif                         this.ShowInTaskbar =  false; //9 
InBlock.gif                         this.MaximizeBox =  false; //10 
InBlock.gif                     //this.WindowState = FormWindowState.Maximized;//11 
InBlock.gif                         this.StartPosition = FormStartPosition.CenterScreen; //12 
InBlock.gif                         //this.FormBorderStyle = FormBorderStyle.FixedSingle;//19-1 
InBlock.gif                         //this.AutoSize = false;//19-2-1 
InBlock.gif                         //this.AutoSizeMode = AutoSizeMode.GrowAndShrink;//19-2-2 
InBlock.gif                } 
InBlock.gif                 //登录判断 
InBlock.gif                 private  void button1_Click( object sender, EventArgs e) 
InBlock.gif                { 
InBlock.gif                         if (textBox1.Text ==  "a"
InBlock.gif                        { 
InBlock.gif                                 if (textBox2.Text ==  "a"&&textBox4.Text==valid) 
InBlock.gif                                { 
InBlock.gif                                        button4.Enabled =  true
InBlock.gif                                } 
InBlock.gif                                 else 
InBlock.gif                                { 
InBlock.gif                                        MessageBox.Show( "密码错误"); 
InBlock.gif                                        textBox2.Text =  string.Empty; 
InBlock.gif                                } 
InBlock.gif                        } 
InBlock.gif                         else 
InBlock.gif                        { 
InBlock.gif                                 if (textBox2.Text ==  "a"
InBlock.gif                                { 
InBlock.gif                                        MessageBox.Show( "用户名错误"); 
InBlock.gif                                        textBox1.Text =  string.Empty; 
InBlock.gif                                } 
InBlock.gif                                 else 
InBlock.gif                                { 
InBlock.gif                                    MessageBox.Show( "用户名和密码错误"); 
InBlock.gif                                        textBox1.Text =  string.Empty; 
InBlock.gif                                        textBox2.Text =  string.Empty; 
InBlock.gif                                        textBox1.Focus(); 
InBlock.gif                                } 
InBlock.gif                        } 
InBlock.gif 
InBlock.gif                } 
InBlock.gif                 //清空也可以使用string.Empty 
InBlock.gif                 private  void button2_Click( object sender, EventArgs e) 
InBlock.gif                { 
InBlock.gif                        textBox2.Text = ""; 
InBlock.gif                        textBox1.Text = ""; 
InBlock.gif                } 
InBlock.gif                 //退出程序 
InBlock.gif                 private  void button3_Click( object sender, EventArgs e) 
InBlock.gif                { 
InBlock.gif                         /*当本窗口是主线程窗口,以下三种方法均可以退出程序 
InBlock.gif                         *当本窗口不是主窗口时,如果要退出整个程序,应采用第3种方法,将一次性关闭程序上存在的所有线程。 
InBlock.gif                         *如果只是想关闭当前窗口而不退出程序,应采用第一种方法 
InBlock.gif                         *当本窗口不是主窗口时,采用第2种方法退出程序时,将会再执行关闭主窗体的步骤。 
InBlock.gif                            
InBlock.gif                         */
 
InBlock.gif                         //this.Close(); 
InBlock.gif                         //Application.Exit(); 
InBlock.gif                        Application.ExitThread(); 
InBlock.gif                 
InBlock.gif                } 
InBlock.gif                 //弹出新的窗体 
InBlock.gif                 private  void button4_Click( object sender, EventArgs e) 
InBlock.gif                { 
InBlock.gif                        通讯录 f =  new 通讯录(); 
InBlock.gif                        f.Show(); 
InBlock.gif                } 
InBlock.gif 
InBlock.gif                 //3 
InBlock.gif                 private  void textBox1_TextChanged( object sender, EventArgs e) 
InBlock.gif                { 
InBlock.gif                         if (textBox1.Text.Length > 4) 
InBlock.gif                                 button1.Enabled =  false
InBlock.gif                } 
InBlock.gif                 //3 
InBlock.gif                 private  void button1_EnabledChanged( object sender, EventArgs e) 
InBlock.gif                { 
InBlock.gif                         if (!button1.Enabled) 
InBlock.gif                                label3.Text =  "请双击文本框重新登录!"
InBlock.gif                } 
InBlock.gif                 //4 
InBlock.gif                 private  void textBox1_DoubleClick( object sender, EventArgs e) 
InBlock.gif                { 
InBlock.gif                        textBox1.Text = ""; 
InBlock.gif                        label3.Visible =  false
InBlock.gif                        button1.Enabled =  true
InBlock.gif                } 
InBlock.gif                 //5 
InBlock.gif                 private  void textBox1_Leave( object sender, EventArgs e) 
InBlock.gif                { 
InBlock.gif                         if (textBox1.Text.Length > 6) 
InBlock.gif                        { 
InBlock.gif                                MessageBox.Show( "用户名超过6位"); 
InBlock.gif                                textBox1.Text = ""; 
InBlock.gif                                textBox1.Focus(); 
InBlock.gif                        } 
InBlock.gif                                 //1 
InBlock.gif                         else  if (textBox1.Text.Length == 0) 
InBlock.gif                                textBox1.BackColor = Color.Yellow; 
InBlock.gif                } 
InBlock.gif 
InBlock.gif                 
InBlock.gif                 private  void 登录_Load( object sender, EventArgs e) 
InBlock.gif                { 
InBlock.gif                         //13 
InBlock.gif                        toolTip1.SetToolTip(textBox3, "这里显示网址!"); 
InBlock.gif                         //14 
InBlock.gif                        GraphicsPath path =  new GraphicsPath(); 
InBlock.gif                        path.AddEllipse( this.button1.ClientRectangle); 
InBlock.gif                        button1.Region =  new Region(path); 
InBlock.gif 
InBlock.gif                         //产生验证码 
InBlock.gif                        GetValid(); 
InBlock.gif                        label6.Font = new Font ( "宋体",9,FontStyle.Italic); 
InBlock.gif                        label6.BackColor = Color.Transparent; 
InBlock.gif 
InBlock.gif                         17.设置窗体工作区的大小 
InBlock.gif                         //this.ClientSize = this.BackgroundImage.Size; 
InBlock.gif 
InBlock.gif                        CodeImage(GetcheckCode()); 
InBlock.gif 
InBlock.gif 
InBlock.gif                } 
InBlock.gif                 //2 
InBlock.gif                 private  void textBox1_Enter( object sender, EventArgs e) 
InBlock.gif                { 
InBlock.gif                         //textBox1.BackColor = textBox2.BackColor; 
InBlock.gif                        textBox1.BackColor = Color.FromKnownColor(KnownColor.Window); 
InBlock.gif                } 
InBlock.gif                 //6 
InBlock.gif                 private  void textBox1_KeyPress( object sender, KeyPressEventArgs e) 
InBlock.gif                { 
InBlock.gif                         if (e.KeyChar == 13) 
InBlock.gif                                textBox2.Focus(); 
InBlock.gif                } 
InBlock.gif                 //7 
InBlock.gif                 private  void 登录_FormClosing( object sender, FormClosingEventArgs e) 
InBlock.gif                { 
InBlock.gif                        DialogResult jg = MessageBox.Show( "你确定要关闭吗?""关闭登录窗体", MessageBoxButtons.YesNo, MessageBoxIcon.Information); 
InBlock.gif                         if (jg == DialogResult.No) 
InBlock.gif                                e.Cancel =  true
InBlock.gif                } 
InBlock.gif 
InBlock.gif                 private  void button5_Click( object sender, EventArgs e) 
InBlock.gif                { 
InBlock.gif                     webBrowser1.Navigate(textBox3.Text.Trim()); 
InBlock.gif                } 
InBlock.gif                 //13 
InBlock.gif                 private  void textBox2_MouseEnter( object sender, EventArgs e) 
InBlock.gif                { 
InBlock.gif                        toolTip2.Show( "请输入密码!", this); 
InBlock.gif                } 
InBlock.gif                 //15产生4个验证码 
InBlock.gif                 string valid; 
InBlock.gif                 void GetValid() 
InBlock.gif                { 
InBlock.gif                        Random rad =  new Random(); 
InBlock.gif                        
InBlock.gif                         for ( int i = 0; i < 4; i++) 
InBlock.gif                                valid += rad.Next(0,9).ToString (); 
InBlock.gif                        label6.Text = valid; 
InBlock.gif                } 
InBlock.gif                 //16.验证是数字的方法 
InBlock.gif                 bool IsNum( string s) 
InBlock.gif                { 
InBlock.gif                         //1.使用异常检测的方法 
InBlock.gif                         //try 
InBlock.gif                         //{ 
InBlock.gif                         //        Convert .ToInt32(s); 
InBlock.gif                         //} 
InBlock.gif                         //catch    
InBlock.gif                         //{ 
InBlock.gif                         //    return false ; 
InBlock.gif                         //} 
InBlock.gif                         //return true ; 
InBlock.gif 
InBlock.gif                          2.使用正则表达式 
InBlock.gif                          //string regex = @"^\d+(\.\d)?$"; 
InBlock.gif                          //if (!Regex.IsMatch(s, regex)) 
InBlock.gif                          //        return false; 
InBlock.gif                          //else 
InBlock.gif                          //        return true; 
InBlock.gif 
InBlock.gif                         //3.调用VB的information的方法,判断是否为数字。先添加Microsoft.VisualBasic引用 
InBlock.gif                         return Microsoft.VisualBasic.Information.IsNumeric(s);    
InBlock.gif 
InBlock.gif                } 
InBlock.gif                 //16 
InBlock.gif                 private  void textBox4_Leave( object sender, EventArgs e) 
InBlock.gif                { 
InBlock.gif                         if (!IsNum(textBox4.Text)||textBox4.Text .Trim ().Length!=4) 
InBlock.gif                        { 
InBlock.gif                                textBox4.Text = ""; 
InBlock.gif                                MessageBox.Show( "请输入正确的数字格式!"); 
InBlock.gif                        } 
InBlock.gif                } 
InBlock.gif                 //18 
InBlock.gif                 private  void 登录_KeyDown( object sender, KeyEventArgs e) 
InBlock.gif                { 
InBlock.gif                         if (e.KeyCode == Keys.F4 && e.Modifiers == Keys.Alt) 
InBlock.gif                                e.Handled =  true
InBlock.gif                } 
InBlock.gif                 //产生随机数 
InBlock.gif                 string GetcheckCode() 
InBlock.gif                { 
InBlock.gif                         int number; 
InBlock.gif                         char code; 
InBlock.gif                         string checkcode = ""; 
InBlock.gif                        Random rdm =  new Random(); 
InBlock.gif                         for ( int i = 0; i < 4; i++) 
InBlock.gif                        { 
InBlock.gif                                number = rdm.Next(); 
InBlock.gif                             //number = rdm.Next(0,9); 
InBlock.gif                                 if (number % 2 == 0) 
InBlock.gif                                        code = ( char)('0' + ( char)(number % 10)); 
InBlock.gif                                 else 
InBlock.gif                                        code = ( char)('A' + ( char)(number % 26)); 
InBlock.gif                                checkcode +="" +code.ToString (); 
InBlock.gif                        } 
InBlock.gif                         return checkcode; 
InBlock.gif                } 
InBlock.gif                 void CodeImage( string code) 
InBlock.gif                { 
InBlock.gif                     
InBlock.gif                         if (code ==  null || code.Trim() ==  string.Empty) 
InBlock.gif                                 return
InBlock.gif                        System.Drawing.Bitmap image =  new System.Drawing.Bitmap(( int)Math.Ceiling (code.Length*10.0),22); 
InBlock.gif                        Graphics g = Graphics.FromImage(image); 
InBlock.gif                         try 
InBlock.gif                        { 
InBlock.gif                                Random rdm =  new Random(); 
InBlock.gif                                g.Clear(Color.White); 
InBlock.gif                                 //画图片的背景噪音线 
InBlock.gif                                 for ( int i = 0; i < 3; i++) 
InBlock.gif                                { 
InBlock.gif                                         int x1 = rdm.Next(image.Width); 
InBlock.gif                                         int x2 = rdm.Next(image.Width); 
InBlock.gif                                         int y1 = rdm.Next(image.Height); 
InBlock.gif                                         int y2 = rdm.Next(image.Height); 
InBlock.gif                                        g.DrawLine( new Pen(Color.Black), x1, y1, x2, y2); 
InBlock.gif                                } 
InBlock.gif                                Font font =  new System.Drawing.Font( "Arial", 12, FontStyle.Bold); 
InBlock.gif                                g.DrawString(code, font,  new SolidBrush(Color.Red), 2, 2); 
InBlock.gif                                 //画前景噪音线 
InBlock.gif                                 for ( int i = 0; i < 150; i++) 
InBlock.gif                                { 
InBlock.gif                                         int x = rdm.Next(image.Width); 
InBlock.gif                                         int y = rdm.Next(image.Height); 
InBlock.gif                                        image.SetPixel(x, y, Color.FromArgb(rdm.Next())); 
InBlock.gif                                } 
InBlock.gif                                g.DrawRectangle( new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1); 
InBlock.gif                                pictureBox1.Width = image.Width; 
InBlock.gif                                pictureBox1.Height = image.Height; 
InBlock.gif                                pictureBox1.Image = image; 
InBlock.gif                        } 
InBlock.gif                         catch 
InBlock.gif                        { } 
InBlock.gif                } 
InBlock.gif        } 
InBlock.gif
本文转自叶子文文博客51CTO博客,原文链接http://blog.51cto.com/leafwf/185809如需转载请自行联系原作者

叶子文文
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值