0

我在 Winforms 中有一个应用程序。VS 2010 C#。我想要做的是当用户登录时。按 F12 键登录表单显示,另一个用户输入用户名和密码并登录。

我附上了我的 Login.cs、Program.cs 和 Form1.cs

在我的主表单(Form1.cs)中,当用户按下 F12 键时,我可以显示登录表单,但是当我输入用户名和密码时,什么也没有发生。

现在我正在捕获用户第一次登录时的用户名。我还想在按下 F12 键并登录时捕获新用户。

我在标签中显示用户名

label1.Text = myuser.getUserName();

我在 Keypress 事件下尝试了 FORM.CS 中的一些代码,但它不起作用

//////////**Program.CS**////////////////


namespace BusinessLayer
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            DialogResult result;
            var loginForm = new Login();
            result = loginForm.ShowDialog();
            if (result == DialogResult.OK)
            {
                // login was successful


                Application.Run(new Form1(loginForm.usr));
            }
        }
    }
}
///////////////////////////////////**Login.CS**/////////////////////


namespace BusinessLayer
{
    public partial class Login : Form
    {
        UserName myuser;
        public Login()
        {
            InitializeComponent();
        }

        private void btnLogin_Click(object sender, EventArgs e)
        {


            if (CheckPasswordManager.CheckPassword(txtUserID.Text, txtPassword.Text) > 0)
            {
                usr = new UserName(txtUserID.Text);
                DialogResult = DialogResult.OK;
            }

            else
            {
                MessageBox.Show("wrong");

            }



        }


        public UserName usr
        {
            get
            {
                return myuser;
            }
            set
            {
                myuser = value;
            }
        }

    }
}

//////////////////////**Form1.CS**////////////////


namespace BusinessLayer
{
    public partial class Form1 : Form
    {
        UserName myuser;
        public Form1(UserName usr)
        {
            myuser = usr;
            InitializeComponent();

        }





        private void Form1_Load(object sender, EventArgs e)
        {
            dataGridView1.DataSource = BookingManager.GetList();
            label1.Text = myuser.getUserName();


            int GetBookEntryID = Int32.Parse(this.dataGridView1.CurrentRow.Cells["booking_entry_id"].Value.ToString());

           dataGridView2.DataSource = ProcessManager.GetList(GetBookEntryID);



          }

        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {

            String s = e.KeyCode.ToString();

            switch (s)
            {
                case "F12":
                    var loginForm = new Login();

                    this.Hide();
                    var loginForm = new Login();
                    loginForm.Show();



            }

        }


}

}

////////////////username.cs

namespace PassUsername
{
    public class Username
    {
        string userName;

        public Username(string uName)
        {
            userName = uName;

        }
        public string getUserName()
        {
            return userName;
        }
    }
}
4

0 回答 0