且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-10-06 15:14:52

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

叶子文文