WinForm 简单的登录页面

此篇文章详细介绍了,从无到一个简单的WinForm的登陆界面的做成,包括页面的设计和数据库的连接,以及初学者碰到的问题。想要完整代码评论111私。下面直接上“才艺”。

1.首先我们创建一个WinForm的项目,按照截图一步一步,最后点击创建

2.创建好的新项目有三个部分,设计器,设计器代码,和Program.cs项目程序主入口

3.下面开始设计页面,视图--工具箱,进入需要的控件库。我们需要的button和InputText和Label。

直接点往右边拉就好了。这是最后设计好的界面。

4.鼠标点击对应的空间,右边的属性栏里面。有各种各样的属性可以编辑,像字体样式,以及文本。

密码加密的话,我们在密码的输入框的属性那块,找到UseSystemPasswordChar设置为True就好了

我们看到,我们运行起来后,我们的聚焦点在用户名,这是我们想要的。

这个设置方法是,把鼠标点击该InputText,点击视图--Tab键顺序,然后改写自己想要的顺序,然后保存,就好了。

5.我们设计好运行起来,发现界面在左上角,我们想调整到居中位置,我们只需要把属性的,StartPosition的属性换成CenterScreen就好了

6.下面开始编写代码,首先写重置的逻辑。我们只需要双击该按钮,然后就会自动生成该按钮的方法,可以编写了,重置我们只需要,点击的时候把用户名和密码清空就好了。

        //重置
        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Text = string.Empty;
            textBox2.Text = string.Empty;
        }

7.写确认按钮代码,我们要做到,连接数据库,然后把用户名和密码和数据库的做对比,如果存在且正确,则登录成功跳转到主界面,否则就失败。

我们的连接字符串

        //数据库连接字符串
        private string connectionString = "server=xxx.xx.xxx.xx,3306;user id = yonghuming; password=mima;database=MyDB";    --如果是默认端口3306可以不写。
//确认
private void button2_Click(object sender, EventArgs e)
{
    if (string.IsNullOrWhiteSpace(textBox1.Text))
    {
        MessageBox.Show("请输入用户名!");
        return;
    }
    if (string.IsNullOrWhiteSpace(textBox2.Text))
    {
        MessageBox.Show("请输入密码!");
        return;
    }
    using (MySqlConnection conn = new MySqlConnection(connectionString))
    {
        try
        {
            Console.WriteLine(conn);
            conn.Open();

           
            string query = "select * from user_table where username = @username and password = @password";
            using (MySqlCommand cmd = new MySqlCommand(query, conn))
            {
                cmd.Parameters.AddWithValue("@username", textBox1.Text);
                cmd.Parameters.AddWithValue("@password", textBox2.Text);

                using (MySqlDataReader reader = cmd.ExecuteReader())
                {
                    if (reader.Read())
                    {
                        DialogResult = DialogResult.OK;
                        MessageBox.Show("登录成功!");
                    }
                    else
                    {
                        MessageBox.Show("用户名或密码错误!");
                    }
                }
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show("登录过程中发生错误:" + ex.Message);
        }
    }
}

注意我是用的MySqlConnection,这是Mysql的连接的对象。如果是Sqlserver,要用SqlConnection对象,这个要注意。

8.我们注意到,我们登陆成功后,我们记录了DialogResult = DialogResult.OK;。所以我们在主程序Program.cs那边要拿这个变量去确认是否跳转到主页面。Program代码。代码逻辑是,如果登陆成功,就跳转到Main主页面,这个主界面是我自己做的一个静态界面

namespace WinFormsApp1
{
    internal static class Program
    {
        /// <summary>
        ///  The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            // To customize application configuration such as set high DPI settings or default font,
            // see https://aka.ms/applicationconfiguration.
            ApplicationConfiguration.Initialize();
            //Application.Run(new Login());
            Login login = new Login();

            if(login.ShowDialog() == DialogResult.OK)
            {
                Application.Run(new Main());
            }
            else
            {
                Application.Exit();
            }
        }
    }
}

9.主界面什么也没有,只有一个登出,点击就会退出用户,让重新登录下面有代码。

10.登出代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WinFormsApp1
{
    public partial class Main : Form
    {
        public Main()
        {
            InitializeComponent();
        }

        //登出
        private void button1_Click(object sender, EventArgs e)
        {
            this.Hide();//隐藏当前主体

            Login login = new Login();
            // 显示登录窗体,‌并等待用户操作完成
            if (login.ShowDialog() == DialogResult.OK)
            {
                // 如果登录成功,‌可以选择重新显示主窗体或进行其他操作
                this.Show();
            }
            else
            {
                // 如果登录取消或失败,‌可以选择关闭应用程序或进行其他操作
                this.Close();
            }
        }
    }
}

好了,到这基本就结束了。下面看看效果截图

祝大家学习进步,天天快乐。

### 回答1: Winform 登录界面是基于Windows Forms框架的一种用户界面设计,用于实现用户登录的功能。它通常包括用户名、密码输入框、登录按钮以及一些其他辅助控件,用于验证用户的身份并进行登录操作。 在实现Winform登录界面时,我们可以利用Visual Studio等集成开发环境创建一个新的Winform项目,并在设计视图中添加所需的控件。首先,我们需要将文本框控件用于输入用户名和密码,并设置合适的提示文本。接下来,我们可以使用密码字符掩码来隐藏输入的密码。 为了提高用户体验,可以添加一些校验逻辑,例如检查输入的用户名和密码是否符合要求,或者检查输入的用户名是否存在于数据库中。可以使用按钮控件实现登录按钮,并为其添加Click事件处理程序来执行登录操作。 当用户点击登录按钮时,我们可以在代码中编写逻辑来验证用户输入的用户名和密码。如果验证通过,可以显示登录成功的提示信息,并进行相应的页面跳转或功能操作。如果验证不通过,可以显示错误提示信息,例如弹出消息框提示用户重新输入。 此外,还可以添加一些其他辅助控件,例如复选框用于“记住密码”功能的实现,或者超链接控件用于忘记密码的找回操作。这些辅助功能可以提供更好的用户体验和便利性。 总之,Winform登录界面是一种简单而常见的用户界面设计,通过合适的控件布局和逻辑处理,可以有效地实现用户的登录功能,并提供良好的用户体验。 ### 回答2: WinForm 是一种基于 Windows Forms 的应用程序开发框架,可用于创建 Windows 平台上的用户界面。登录界面是一个常见的应用程序启动界面,用于用户身份验证和访问权限控制。 WinForm 登录界面通常包含以下几个主要元素: 1. 用户名和密码输入框:用户在这里输入自己的用户名和密码,用于进行身份验证。 2. 登录按钮:用户点击此按钮后,系统会验证输入的用户名和密码是否正确,并根据验证结果执行相应的操作。 3. 注册按钮:用户可以点击此按钮进行新用户的注册,以获得登录系统的权限。 4. 忘记密码链接或按钮:用户忘记密码时,可以点击此链接或按钮,系统将提供密码重置或找回密码的方法。 5. 其他相关界面元素:可能包括记住密码选项、自动登录选项、语言切换、主题切换等。 在实现 WinForm 登录界面时,可以使用 Visual Studio 等集成开发环境提供的窗体设计器工具,通过拖拽和设置属性来快速构建界面。同时,还需要编写逻辑代码来处理用户的输入和验证逻辑。 用户在输入用户名和密码后,点击登录按钮时,应用程序应对用户输入进行验证。可以使用数据库来存储用户信息,并在登录时与数据库中存储的用户信息进行比对。如果验证成功,可以跳转到主界面;如果验证失败,可以给予相应的错误提示,并留在登录界面等待用户重新输入。 总之,WinForm 登录界面是一个基于 Windows Forms 的用户界面,用于用户身份验证和访问权限控制。实现登录界面需要设计合适的界面元素,并编写逻辑代码来验证用户输入和执行相应的操作。 ### 回答3: WinForm是一种用于创建Windows桌面应用程序的开发工具。而登录界面是一个常见的应用程序开发中的功能模块,用于用户身份验证和访问控制。 在WinForm中,我们可以使用各种控件和代码来创建一个登录界面。首先,我们需要一个窗体(Form),然后在窗体上添加一些必要的控件,如标签(Label)、文本框(TextBox)、按钮(Button)等。 在标签中,我们可以添加一些文字说明,如“用户名”和“密码”,以指导用户输入相关信息。在文本框中,用户可以输入用户名和密码。此外,我们还可以添加一个复选框(CheckBox),用于记住用户的登录信息。最后,我们还可以添加一个按钮,用于提交用户输入的信息。 在按钮的点击事件中,我们可以编写相关的代码来验证用户输入的用户名和密码是否正确。如果正确,可以进行相应的跳转或操作;如果错误,可以显示相应的错误提示信息。 此外,为了增加用户体验,我们还可以在登录界面上添加一些其他功能,如生成验证码、实现自动登录、添加忘记密码链接等。这些功能可以根据具体需求进行扩展和实现。 总的来说,WinForm是一个强大而灵活的桌面应用程序开发工具,通过合理使用其提供的各种控件和代码,可以轻松地创建一个美观、功能完善的登录界面。同时,WinForm还提供了丰富的事件和属性,可以方便地实现与用户的交互和响应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值