360免费建站系统,wordpress邮件 插件,建立小程序需要多少钱,icp网站备案核验单下载一个别样的WinForms项目#xff0c;他并没多么的新颖#xff0c;但是它的用处确实有点多#xff0c;或许会有你需要的地方#xff1b;如果你对WinForms中那么多控件无法把握#xff0c;又或者是你根本就不懂#xff0c;那我觉得你应该好好看看#xff0c;如果一个人的人… 一个别样的WinForms项目他并没多么的新颖但是它的用处确实有点多或许会有你需要的地方如果你对WinForms中那么多控件无法把握又或者是你根本就不懂那我觉得你应该好好看看如果一个人的人生命运无法去选择时那我觉得接受它将是冲刺命运终点的最好动力一切的不公平都是你为了躲避困难而找的借口年轻人就需要不平坦的人生道路通过刻苦奋斗得来的果实永远是最甜、平坦的人生亦是最幸福的瞬间。 那首先就是项目的框架分别是登录(FrmLogin )——主界面FrmMain——修改密码FrmUpdate——添加/修改/删除学生基本信息等。 框架搭好之后我们了解一些框架内的代码吧至于具体的一些控件呢只能是自己慢慢去看看有些注意点大家可以记下在控件生成后要及时去修改控件的“Name”的属性如果够专业就尽量取专业点名字那样对你可能会有帮助的。 当界面形成后事件会是你填写代码的最大障碍所以WinForms的几个事件需要认真记住单击Click当界面显示在眼前就形成的Load窗体正在运行的FormClosing鼠标在界面移动mouseClick 1.登录界面FrmLogin 点击登陆进去的代码 string str Data source.;Initial catalogMyschool;Uidsa;SqlConnection con new SqlConnection(str);string sql select count(1) from student where studentnametxtUserName.Text and LoginpwdtxtPwd.Text;SqlCommand cmd new SqlCommand(sql,con);try{con.Open();int countConvert.ToInt32(cmd.ExecuteScalar());if (count0){//隐藏原界面this.Hide();//跳转至主界面FormMain frm new FormMain();Tool.pwd txtPwd.Text;frm.Show();}}catch (Exception){MessageBox.Show(出现异常);}finally {con.Close();} 2.跳转主界面FrmMain 菜单控件工具控件、右键contextMenuStrip控件ListView控件、视图等 其中有ListView五大视图 1.大图标LargeIcon 2.小图标SmallIcon 3.列表List 4.详细信息Detail 5.平铺Tile 生成上方主界面ListView代码 private void btnBig_Click(object sender, EventArgs e){//设置listview的属性view为大图标lvlist.View View.LargeIcon;}private void btnSmall_Click(object sender, EventArgs e){//设置listview的属性view为小图标lvlist.View View.SmallIcon;}private void btnTile_Click(object sender, EventArgs e){//设置listview的属性view为平铺lvlist.View View.Tile;}private void btnList_Click(object sender, EventArgs e){//设置listview的属性view为列表lvlist.View View.List;}private void btnDetails_Click(object sender, EventArgs e){//设置listview的属性view为详细信息lvlist.View View.Details;} 跳转至其它的各个功能的窗体 private void TsmiUpdate_Click(object sender, EventArgs e){//修改密码FrmUpdate frm new FrmUpdate();frm.Show();}private void lvlist_SelectedIndexChanged(object sender, EventArgs e){}private void StuName_Click(object sender, EventArgs e){//查找this.Hide();FrmColor frm new FrmColor();frm.Show();} 3.修改密码FrmUpdate 判断密码是否为空修改密码是否成功 private void btnupdate_Click(object sender, EventArgs e){string name string.Empty;if (txtoldpwd.Textname){DialogResult resultMessageBox.Show(原密码为空,通知,MessageBoxButtons.YesNo,MessageBoxIcon.Information);if (resultDialogResult.No){this.Close();}}if (txtnewpwd.Text name){DialogResult result MessageBox.Show(新密码密码为空, 通知, MessageBoxButtons.YesNo, MessageBoxIcon.Information);if (result DialogResult.No){this.Close();}}if(txtOK.Text name){DialogResult result MessageBox.Show(确认密码为空, 通知, MessageBoxButtons.YesNo, MessageBoxIcon.Information);if (result DialogResult.No){this.Close();}}if (txtoldpwd.Text ! name txtnewpwd.Text ! name txtOK.Text ! name){string str Data source.;Initial catalogMyschool;Uidsa;SqlConnection conn new SqlConnection(str);string sql update student set Loginpwd txtnewpwd.Text where Loginpwd txtoldpwd.Text ;SqlCommand cmd new SqlCommand(sql, conn);try{conn.Open();if (txtOK.Text.Equals(txtnewpwd.Text)){int count cmd.ExecuteNonQuery();if (count 0){MessageBox.Show(修改成功);}} }catch (Exception){MessageBox.Show(异常!); ;}finally{conn.Close();}}}private void FrmUpdate_Load(object sender, EventArgs e){txtoldpwd.Text Tool.pwd;}private void btncancel_Click(object sender, EventArgs e){this.Close();} 4.查找学生信息FrmReseach 从查找可以跳转到添加/修改/删除窗体 private void btnselect_Click(object sender, EventArgs e){UpdateSelect();}//按学生编号查找的方法public void LoadDataFromDBToListView(string sql){string str data source.;initial catalogMySchool;uidsa;SqlConnection con new SqlConnection(str);SqlCommand cmd new SqlCommand(sql, con);try{con.Open();SqlDataReader dr cmd.ExecuteReader();if (dr ! null){if (dr.HasRows){while (dr.Read()){//每从DB中读取出一条数据需要形成一个ListViewItem对象代表的是ListView中的一行int stuNo Convert.ToInt32(dr[studentno]);//第二列 学生名字string stuName Convert.ToString(dr[studentname]);//第三列 性别string stugender Convert.ToString(dr[gender]);//第四列 年级名称string gname Convert.ToString(dr[gradename]);//第五列 电话string phone Convert.ToString(dr[phone]);//第六列 地址string address Convert.ToString(dr[address]);//第七列 邮箱string email Convert.ToString(dr[email]);//第八列 出生日期string birthday Convert.ToString(dr[birthday]);ListViewItem lvItem new ListViewItem(stuNo.ToString());lvItem.SubItems.Add(stuName);lvItem.SubItems.Add(stugender);lvItem.SubItems.Add(gname);lvItem.SubItems.Add(phone);lvItem.SubItems.Add(address);lvItem.SubItems.Add(email);lvItem.SubItems.Add(birthday);//让lvItem和ListView关联lvlist.Items.Add(lvItem);lvlist.FullRowSelect true;lvlist.ContextMenuStrip ctmslist;}dr.Close();}}}catch (Exception){MessageBox.Show(异常!); ;}finally{con.Close();}}private void listView1_SelectedIndexChanged(object sender, EventArgs e){string sql select Studentno,Studentname,Gender,gradename,phone,address,email,birthday from student,gradewhere student.gradeidgrade.gradeid;LoadDataFromDBToListView(sql);}public void UpdateSelect(){lvlist.Items.Clear();string sql select Studentno,Studentname,Gender,gradename,phone,address,email,birthday from student,gradewhere student.gradeidgrade.gradeid and studentname like % txtname.Text % ;LoadDataFromDBToListView(sql);}private void TsStudentInfo_Click(object sender, EventArgs e){int stunoConvert.ToInt32(lvlist.SelectedItems[0].Text);FrmEditStu frm new FrmEditStu();frm.stuno stuno;frm.frmselect this;frm.Show();}private void FrmColor_FormClosing(object sender, FormClosingEventArgs e){Application.Exit();}private void 删除学生信息ToolStripMenuItem_Click(object sender, EventArgs e){int sno Convert.ToInt32(lvlist.SelectedItems[0].Text);FrmEditStu frm new FrmEditStu();frm.stuno sno;frm.frmselect this;frm.Show();} 5.添加学生信息FrmEditStu 修改学生信息: 删除学生信息: 添加到数据库 private void btnSave_Click(object sender, EventArgs e){//接收到的学号//判断学号是否为空来选择sql语句//判断是否要删除信息if (sno!0){DialogResult resultMessageBox.Show(是否删除?,提示,MessageBoxButtons.YesNo,MessageBoxIcon.Error);if (resultDialogResult.Yes){//删除this.Hide();ChangDelete();}}if (stuno!0){//修改this.Hide();GetUpdate();} else{//新增this.Hide();GetSave();} } //判断stuno是否有值来修改select语句//新增public void GetSave(){string pwd txtpwd.Text;//密码string pwdTrue txtPwdTrue.Text;//确认密码string name txtStuName.Text;//学生名string stuGender string.Empty;//取单选列表if (rbtnGenderTure.Checked){stuGender 1;}else{stuGender 0;}//给下拉框取值int gid GetIdByName();string phone txtPhone.Text;//电话string address txtAddress.Text;//地址DateTime dt dtBirthday.Value;//日期string stuEmail txtEmail.Text;//邮箱//StudentNo, LoginPwd, StudentName, Gender, GradeId, Phone, Address, Birthday, Emailstring sql insert into student values( pwd , name , stuGender , gid , phone , address , dt , stuEmail );string str Data source.;initial catalogMySchool;uidsa;SqlConnection con new SqlConnection(str);SqlCommand cmd new SqlCommand(sql, con);con.Open();if (pwd.Equals(pwdTrue)){int count cmd.ExecuteNonQuery();if (count 0){frmselect.UpdateSelect();MessageBox.Show(成功);}con.Close();}else{MessageBox.Show(前后密码不匹配);} }//修改public void GetUpdate(){ string name txtStuName.Text;//学生名string stuGender string.Empty;//取单选列表if (rbtnGenderTure.Checked){stuGender 1;}else{stuGender 0;}//给下拉框取值int gid GetIdByName();string phone txtPhone.Text;//电话string address txtAddress.Text;//地址DateTime dt dtBirthday.Value;//日期string stuEmail txtEmail.Text;//邮箱//StudentNo, LoginPwd, StudentName, Gender, GradeId, Phone, Address, Birthday, Emailstring sql update student set studentname name ,gender stuGender ,gradeid gid ,phone phone ,addressaddress,birthdaydt,emailstuEmail where studentnotxtStuNo.Text; string str Data source.;initial catalogMySchool;uidsa;SqlConnection con new SqlConnection(str);SqlCommand cmd new SqlCommand(sql, con);con.Open(); int count cmd.ExecuteNonQuery();con.Close();if (count 0){frmselect.UpdateSelect();MessageBox.Show(成功);} }//删除public void ChangDelete(){string pwd txtpwd.Text;//密码string pwdTrue txtPwdTrue.Text;//确认密码string name txtStuName.Text;//学生名string stuGender string.Empty;//取单选列表if (rbtnGenderTure.Checked){stuGender 1;}else{stuGender 0;}//给下拉框取值int gid GetIdByName();string phone txtPhone.Text;//电话string address txtAddress.Text;//地址DateTime dt dtBirthday.Value;//日期string stuEmail txtEmail.Text;//邮箱//StudentNo, LoginPwd, StudentName, Gender, GradeId, Phone, Address, Birthday, Emailstring sql delete from student where studentnotxtStuNo.Text ;string str Data source.;initial catalogMySchool;uidsa;SqlConnection con new SqlConnection(str);SqlCommand cmd new SqlCommand(sql, con);con.Open();if (pwd.Equals(pwdTrue)){int count cmd.ExecuteNonQuery();if (count 0){frmselect.UpdateSelect();MessageBox.Show(成功);}}else{MessageBox.Show(前后密码不匹配);}con.Close();}//根据对应条件查询班级idpublic int GetIdByName(){string str Data source.;initial catalogMySchool;uidsa;SqlConnection con new SqlConnection(str);string sql select gradeid from grade where gradenamecmbGrade.Text;SqlCommand cmd new SqlCommand(sql, con);int gid 0;try{con.Open();gid Convert.ToInt32(cmd.ExecuteScalar());}catch (Exception){MessageBox.Show(网络异常);}finally{con.Close();}return gid;}//根据对应条件查询班级gnamepublic string GetNameById(int gid){string str Data source.;initial catalogMySchool;uidsa;SqlConnection con new SqlConnection(str);string sql select gradename from grade where gradeid gid ;SqlCommand cmd new SqlCommand(sql, con);string name ;try{con.Open();name cmd.ExecuteScalar().ToString();}catch (Exception){MessageBox.Show(网络异常);}finally{con.Close();}return name;}//加载年级下拉框public void LoadGrade(){//拿到所有年级名称string str Data source.;Initial catalogMySchool;uidsa;SqlConnection con new SqlConnection(str);string sql select gradename from grade;SqlCommand cmd new SqlCommand(sql, con);try{con.Open();SqlDataReader dr cmd.ExecuteReader();if (dr ! null){if (dr.HasRows){while (dr.Read()){string gname dr[gradename].ToString();//每读到一个年级名称我就将S1添加到下拉框cmbGrade.Items.Add(gname);}}}}catch (Exception ex){MessageBox.Show(网络异常);}finally{con.Close();}}//根据学号加载其他信息public void LoadStuInfoByStuNo(){string str Data source.;Initial catalogMySchool;uidsa;SqlConnection con new SqlConnection(str);string sql select * from student where studentnostuno;SqlCommand cmd new SqlCommand(sql, con);try{con.Open();SqlDataReader dr cmd.ExecuteReader();txtStuNo.Text stuno.ToString();if (dr!null){if (dr.HasRows){while (dr.Read()){string stuname dr[studentname].ToString();txtStuName.Text stuname;//姓名string stuGender dr[gender].ToString();if (stuGender 1){rbtnGenderTure.Checked true;}else if (stuGender 0){rbtnGender.Checked true;}//性别int gid Convert.ToInt32(dr[gradeid]);string gname GetNameById(gid);cmbGrade.Text gname;//年级string stuphone dr[phone].ToString();txtPhone.Text stuphone;//电话string stuaddress dr[address].ToString();txtAddress.Text stuaddress;//地址string stuemail dr[email].ToString();txtEmail.Text stuemail;//邮箱DateTime stubirthday Convert.ToDateTime(dr[birthday]);dtBirthday.Value stubirthday;//出生日期 }}}}catch (Exception){MessageBox.Show(异常!!); ;}finally {}}private void FrmEditStu_Load(object sender, EventArgs e){ //判断学号是否为空来选择sql语句if ( sno ! 0){DialogResult result MessageBox.Show(是否删除?, 提示, MessageBoxButtons.YesNo, MessageBoxIcon.Error);if (result DialogResult.Yes){this.Text 删除学生信息;btnSave.Text 删除;LoadStuInfoByStuNo();}}if(stuno!0){this.Text 修改学生信息;btnSave.Text 修改;LoadStuInfoByStuNo();} else{btnSave.Text 保存;LoadGrade();}}private void FrmEditStu_FormClosing(object sender, FormClosingEventArgs e){Application.Exit();}private void btnClear_Click(object sender, EventArgs e){this.Close();} 6.动态图片时钟 计时控件 通过时间来让几张图连接形成动态的计时 private int index 0;private void timers_Tick(object sender, EventArgs e){if (indeximglist.Images.Count-1){index;}else{index 0;}piclist.Image imglist.Images[index];} WinForms很重要虽说难度不是很大但它的内容太多之间的融合又太复杂所以难易与否只有自己知道但只要认真听课、刻苦学习我想时间会给我们大家最好的结果所以我希望大家能指出我的一些不足之处相信我们的互帮互助能让我们都变得更好。转载于:https://www.cnblogs.com/bdpsc/p/5001955.html