窗体之间的跳转
1.跳转窗体
①格式:
窗体类名 窗体对象名 = new 窗体类名();
窗体对象名.Show();
举例使用:
Form1 f = new Form1();
f.Show();
2.登录验证后跳转新窗体题目练习(包含跳转和传值)
//鼠标点击事件private void btnLogin_Click(object sender, EventArgs e){//同学名不能为空//获取用户输入的内容string className = txtClassName.Text.Trim();if (className.Equals(string.Empty)){//如果为空的话,就给他提醒同学名不能为空MessageBox.Show("同学名不能为空","友情提示",MessageBoxButtons.OK,MessageBoxIcon.Information);txtClassName.Focus();//鼠标焦点return;}//密码不能为空string Password = txtPassword.Text.Trim();if (Password.Equals(string.Empty)){//如果为空的话,就给他提醒同学名不能为空MessageBox.Show("密码不能为空", "友情提示", MessageBoxButtons.OK, MessageBoxIcon.Information);txtPassword.Focus();//鼠标焦点return;}//账号密码验证判断//定义字符串连接string connString = "Server=.;DataBase=T172DB;User ID=sa;Pwd=sa";//创建连接类的对象SqlConnection conn = new SqlConnection(connString);//创建检查错误的代码try{//打开数据库conn.Open();//执行在表中查询用户输入的内容的操作//方法一//执行命令(查询语句)/*SqlCommand comm = new SqlCommand($"select className from [dbo].[ClassInfo] ci\r\nwhere className = '{txtClassName.Text.Trim()}' and loginPassword = '{txtPassword.Text.Trim()}'",conn);//读取到执行的内容返回SqlDataReader sql = comm.ExecuteReader();//如果查询成功就说明用户输入的密码和同学名是正确的,所以可以查询到if (sql.Read()){//登录成功MessageBox.Show("登录成功");}else {//登录失败MessageBox.Show("登录失败");}sql.Close();*///方法二//执行语句SqlCommand comm = new SqlCommand($"select count(*) from [dbo].[ClassInfo] ci\r\nwhere className = '{txtClassName.Text.Trim()}' and loginPassword = '{txtPassword.Text.Trim()}'", conn);//接受打印内容,转化为整数类型,小于等于0代表没有查找到内容int count = Convert.ToInt32(comm.ExecuteScalar());//判断是否大于0if (count > 0){MessageBox.Show("登录成功");Form2 fm = new Form2();//传值操作:就是调用到窗口二的字段,给他传值fm.className = className;//跳转窗口,注意展示的窗口要在传值之前。fm.Show();//隐藏打开新窗口后原来的窗口this.Hide();}}catch (Exception ep){//展示错误信息Console.WriteLine(ep.Message);}finally { conn.Close(); } }