就是说做一个用户登录界面,用户需要先输入用户名和密码,正确的话才能进入到程序,否则提示错误。

解决方案 »

  1.   

    先创建一个窗体    添加一个TextBox  和一个Button  然后点一下按钮,判断一下TextBox的文本是否等于你需要的密码,等于就执行正确密码的操作,错误就提示MessageBox    
      

  2.   

    Program.cs
    Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                fLogin fl = new fLogin();
                if (fl.ShowDialog()== DialogResult.OK)
                    Application.Run(new fMain());
    fLogin.cs
    this.DialogResult = DialogResult.OK;
      

  3.   


    在新建一个应用程序的时候,默认的是一个Form,现在我想在打开这个Form之前先验证密码,根据不同的权限来打开不同的应用程序,是这样的
    您说的我也知道
      

  4.   

    在main函数中加入一个类似inputbox的函数对密码进行判断,然后new不同的form呢?
      

  5.   

    教mm学程序用的一个例子呵呵using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.Sql;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Xml;namespace stserver
    {
        public partial class login : Form
        {
            public login()
            {
                InitializeComponent();
            }
            public bool islogin = false;        private void btn_submit_Click(object sender, EventArgs e)
            {
                try
                {
                    XmlDocument doc = new XmlDocument();
                    doc.Load(Application.StartupPath + "\\config.xml");
                    string connstr = doc.DocumentElement.SelectSingleNode("serverconnstr").InnerText;
                    string selectstr = "select top 1 id from admin where uid='" + txb_uid.Text + "' and pwd='" + txb_pwd.Text + "'";
                    SqlConnection conn = new SqlConnection(connstr);
                    conn.Open();
                    SqlCommand cmd = new SqlCommand(selectstr, conn);
                    SqlDataReader dr = cmd.ExecuteReader();
                    if (dr.HasRows)
                    {
                        islogin = true;
                        dr.Close();
                        conn.Close();
                        conn.Dispose();
                        MessageBox.Show("您好," + txb_pwd.Text + "!,欢迎使用\n\n祝您工作愉快!", "欢迎", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        this.Close();
                    }
                    else
                    {
                        dr.Close();
                        conn.Close();
                        conn.Dispose();
                        MessageBox.Show("登录失败!\n请检查您的登录用户名和密码是否正确。\n\n如果您忘记了自己的密码请联系技术部");
                        txb_uid.Text = "";
                        txb_pwd.Text = "";
                        txb_uid.Focus();
                    }
                    dr.Close();
                    conn.Close();
                    conn.Dispose();
                }
                catch
                {
                    MessageBox.Show("不能连接到服务器,请联系技术部","服务器故障",MessageBoxButtons.OK,MessageBoxIcon.Error);
                }
            }        private void btn_cancel_Click(object sender, EventArgs e)
            {
                Application.ExitThread();
            }
        }
    }
      

  6.   

    上面是登陆窗体login.cs的代码下面是program.cs的代码:using System;
    using System.Collections.Generic;
    using System.Windows.Forms;namespace stserver
    {
        static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                login loginfrm=new login();
                loginfrm.ShowDialog();
                if (loginfrm.islogin == true)
                {
                    loginfrm.Close();
                    Application.Run(new stserver());
                }
                else
                {
                    loginfrm.ShowDialog();
                }
            }
        }
    }
    先检查是否已登陆,如果已经登陆那么直接进入主页面,否则进入Login页面
      

  7.   


    用你输入的用户名和密码当作参数到数据库验证,查到就登录成功,否则登录失败!   自己下载个demo看看吧!
      

  8.   

    这个啊           太简单了。就是简单的 ADO,要么就是 一个比较    如果输入的和你定义的完全吻合就是登陆成功。要么就是失败显示提示信息就是 以个show一下
      

  9.   


    数据库中管理人员表建立权限字段
    你程序设计的时候就应该在需要区别权限操作的地方写:
    if(合法用户)
    {
      //显示操作
      if(浏览权限)
      {
       //管理按钮不显示
      }
    }或者:
    //显示普通界面
    if(编辑权限)
    {
      显示编辑菜单
    }
    else if (管理权限)
    {
    //显示管理菜单
    }
      

  10.   

    Main方法中:
       login frmlogin = new login();
                if (login.ShowDialog() == DialogResult.OK)
                {
                    Application.Run(new main_form());
                }
    frmlogin 的click中sqlconnection中查询数据库
    代码51aspx.com
    http://bbs.bccn.net/thread-314376-1-8.html
      

  11.   

    放两个textbox,两个按钮,点击确定按钮,从数据库查找是否存在该用户,并判断密码是否正确,如正确,打开主界面窗口
      

  12.   

    老兄你真有才,一个简单问题让你弄的这么复杂化连xml都用上了
      

  13.   


    楼主开始确实没有说明白自己的意图,不过后来说的很清楚了
    ——用户登录时,按照该用户的权限打开相应的窗口
    其实他问的就是权限设置的问题,思路其实也是有的,只不过不够明朗。根据楼主的思路,给楼主个建议:建立用户表最基本的几个字段:
    用户   密码   角色
    001   001   游客
    002   002   普通用户
    801   801   管理员登录窗口中 textBox1 用户 textBox2 密码  comboBox1 角色验证输入无误后,对 comboBox1 角色 进行一个判断switch (comboBox1 角色)
    {
    case "游客":
    打开  游客form
    break;
    case "普通用户":
    打卡  普通用户form
    break;
    case "管理员":
    打卡 管理员form
    break;
    }这下楼主应该明白了吧,其实这个是最简单的稍微复杂一点的话,所有用户用一个form,在用户表中对每个权限进行设置,比如新窗口中有10个操作,那么用户表中增加10个字段,每个字段的值设置为1(拥有权限)或者0(无权限),
    用户登录时,读取该用户对应的10个字段,对每个字段进行一个判断,如果是0,就把相应的操作按钮的visible设置为false,如:button1.visible=false;
    这样界面显示后,该控件就无法单击了其实我也是个新手,如果你愿意多花点时间琢磨的话,很简单的 
      

  14.   


    我从我的程序考了段代码贴上来的呵呵,数据库连接字段和其他配置信息都在xml中存着,不引用xml命名空间怎们行呢
      

  15.   

    放两个textbox,两个按钮,连个label
    登录按钮事件:
    首先判断用户名是否正确,如果错误,提示用户名错误!登录失败!;如果正确,再判断登录错误次数,如果登录错误次数过多,禁止登陆;接下来,验证密码是否正确,如果正确,弹出登录成功,进入另外一个窗体,并把登录错误次数清零;如果错误,则弹出密码错误!登录失败!,并把登录错误次数+1。
    取消按钮事件:
    把用户名文本框和密码文本框的文本清空。
      

  16.   

    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.Security.Cryptography;
    using System.IO;
    using System.Text;public partial class admin_Login : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
        protected void btnLogin_Click(object sender, EventArgs e)
        {
            //1.获取用户输入的用户名和密码
            string userName = this.txtUserName.Text;
            string password = this.txtPassword.Text;
            //2.根据用户名和密码验证用户身份,如果正确,转到后台管理主页面,否则,给出错误信息
            if (BLL.LoginManage.IsValid(userName, Encrypt(password)))
            {
                Entity.UserMessage uds = BLL.UserManage.GetUserByLoginId(userName);
                Session["UserInfo"] = uds;
                Response.Redirect("Manage.aspx");
            }
            else
            {
                MessageBox("用户名或密码错误!");
                
            }    }    private void MessageBox(string message)
        {
            string outputMessage = "<script language='javascript'>alert('" + message + "')</script>";
            Response.Write(outputMessage);
        }    private static byte[] key = { };
        private static byte[] IV = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
        private static string EncryptionKey = "!5623a#de";    /// <summary>
        /// 密码加密方法
        /// </summary>
        /// <param name="Input"></param>
        /// <returns></returns>
        public string Encrypt(string Input)
        {
            try
            {
                key = System.Text.Encoding.UTF8.GetBytes(EncryptionKey.Substring(0, 8));
                DESCryptoServiceProvider des = new DESCryptoServiceProvider();
                Byte[] inputByteArray = Encoding.UTF8.GetBytes(Input);
                MemoryStream ms = new MemoryStream();
                CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(key, IV), CryptoStreamMode.Write);
                cs.Write(inputByteArray, 0, inputByteArray.Length);
                cs.FlushFinalBlock();
                return Convert.ToBase64String(ms.ToArray());
            }
            catch
            {
                return "";
            }
        }}
     登录界面哟~~