使用C#开发数据库应用系统
使用C#开发数据库应用系统
第一章笔记
1:初始Windows:
在Visual Studio 中 ,WinForm应用的窗体文件中有两种编辑试图:
----1:窗体设计器
----2:代码编辑器
2:在VS中创建Windows应用程序的步骤:
----1>新建项目
----2>项目类型:visualC#项目
----3>模板
3:Windows应用程序:
一个解决方案里有好多项目
主程序文件里包含main()方法
main()方法是Windows程序入口
程序调试中通过修改Main()方法改变启动窗体
4:用partial将同一个窗体的代码分开放在两个文件中:
----一个存放VS自动生成的代码
----一个存放我们自己的编写的代码
form1:Form-------冒号表示继承。像孩子继承父母的特征所有的窗体都继承的form
5:构造函数:做一丝的初始化工作
窗体标题:Name 窗体的图标:Icon 背景图标:BackgroundImage 背景颜色:BackgroundColor
最大化按钮:Maximinbox 最小化按钮:minimun 窗体边框样式:formborderstyle
窗体初始位置:startposition 窗体状态:windowsstate
6:命名规范前缀:
控件名称: 控制类名: 命名前缀:
标签 Label IbI
文本框 Textbox txt
组合框 combobox cbo
按钮 Button btn
规范化命名可以提高程序的可读性和维护性
文本框的主要属性:
Max Length:指定在文本框输入的最大饿字符串
Mulitiline:表示是否可以在文本框中输入多行文本
Passwordchar:指示在作为密码框时,文本框中显示的字符。而不是实际的输入的文本
ReadOnly:指定是否允许编辑文本框的文本
text:与文本关联的文本
组合框的属性:
Items:组合框中的项
DropDownstyle:定义组合框的风格,指示是否显示列表框部分,是否允许用户编辑文本框的部分
Text:与组合框关联的文本
SelectedIndex:当前选定的项目的索引号,列表框的每项都有一个索引号。从零开始
SelectedItem:获取当前选定的项
事件: 说明:
click: 单机控件时发生
SelecteddIndexChanged: 在SelecteddIndex属性修改后发生
按钮的主要属性:
Enable:布尔值,表示控制是否可用。true 表示可用,false表示不可用,如果控件不可用,运行后显示灰色。
Text:按钮显示的文本
TextAlign:按钮上的文本对其方式
编写事件处理程序:
(1):单机要创建事件处理的程序的窗体或者控制
(2):在“属性”窗口中单击“事件” 按钮 (闪电的字符)
(3):双击要处理的事件定位到事件处理的方法
(4):编写处理代码
Messagebox消息框:
====1:最简单的消息框:
Messagebox.show("要显示的字符串");
====2:带标题的消息框:
Messagebox.show("要显示的字符串,消息框的标题");
====3:带标题,按钮的消息框:
MessageBox.show(“要现实的消息框,消息框的标题,消息框的按钮”);
====4:带标题,按钮,图标的消息框:
Messagebox.show("要显示的消息框,消息框的标题,消息框的按钮,消息框的图标");
本章总结
====1:使用窗体的属性设计窗体,窗体常用的属性有FormBorderStyle,StartPosition,windowState等:
====2:使用标签(Label) 文本框(TextBox) 组合框(ComboBox) 按钮(Button)等设计窗体的界面 ,这些控件有通用的属性,如Name Text ,Enable:也有各自的属性:
====3:编写事件处理程序:及针对用户触发的事件编写适当的处理方法
====4:使用窗体的Show()方法和hide()方法实现窗体的显示和隐藏;
====5:在窗体中定义字段,实现窗体的数据传递
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace 第一章 { public partial class frmMain : Form { //连接字符串 private const string sqlcon = "Data Source=.;Initial Catalog=MySchool;User ID=sa;Pwd=."; //用于打开/关闭数据库连接 SqlConnection con = new SqlConnection(sqlcon); //构造方法:用来做初始化工作 public frmMain() { InitializeComponent(); } //取消按钮的单击事件 private void btnexit_Click(object sender, EventArgs e) { DialogResult result= MessageBox.Show("是否取消?","提示",MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { //关闭窗体 this.Close(); } else { //清空窗体中所有信息 this.txtName.Clear(); this.txtPwd.Clear(); this.cborow.SelectedIndex = -1 ; } } //登录按钮的单击事件 private void btnOK_Click(object sender, EventArgs e) { if (CheckInput()) { try { con.Open(); string sql = "select count(*) from Student where StudentNo='" + this.txtName.Text + "' and LoginPwd='" + this.txtPwd.Text + "'"; SqlCommand com = new SqlCommand(sql, con); int count = (int)com.ExecuteScalar(); if (count > 0) { MessageBox.Show("登陆成功!", "提示"); //创建出FrmTest窗体 FrmTest test = new FrmTest(); //test代表的就是FrmTest窗体 .Test就是标题 test.txtshow.Text = "欢迎您:" + this.txtName.Text; test.Show(); } else { MessageBox.Show("登陆失败!", "提示"); this.txtName.Clear(); this.txtPwd.Clear(); this.cborow.SelectedIndex = -1; } } catch (Exception ex) { Console.WriteLine(ex); } finally { con.Close(); } } } //在点击登录按钮的时候验证文本框内容是否为空 private bool CheckInput() { bool flag = true; //判断文本框是否输入值了? //判断txtName是否输入值了 if (this.txtName.Text.Trim()== null||this.txtName.Text.Trim() =="") { //提示信息 MessageBox.Show("请输入登录账号!","登录验证"); flag = false; }else if (this.txtPwd.Text.Trim() == null || this.txtPwd.Text.Trim() == "") { //提示信息 MessageBox.Show("请输入登录密码!", "登录验证"); flag = false; } else if (this.cborow.Text.Trim() == null || this.cborow.Text.Trim() == "") { MessageBox.Show("请选择登录角色!", "登录验证"); flag = false; } return flag; } } }