您好,欢迎访问三七文档
C#家庭理财项目1功能演示和表结构设计1.功能演示2.数据库建立首先打开SqlServer新建数据库:FamilyFinace,然后把数据库文件存放的路径和日志文件重新换个存储目录。然后新建表:用户信息表FamilyUser收支情况表2VS建立项目登录注册界面3.vs2008建立项目名称和解决方案:命名规则一般是项目名为:FamilyFinance然后解决方案在后面加个Pro。首先弄的是我们的登录界面:将Form.cs重名为LoginForm.cs.然后把所有需要的用到的图片找到放在我们当前的项目中如下的images,点击解决方案中的第二个就会显示白色的文件夹,说明让还没被包含在这个项目中。需要右击images,选择包括在项目中就可以了。4.修改LoginForm的属性中的text,然后选择Ico中的属性,设置图标,注意这里只能用.ico的图标。如下:接着设置背景颜色backcolor:为SkyBlue.这里这个是自己添加的。然后还要在登录的界面上面放一张图片,这里选择PictureBox控件。然后点击控件上面的小三角,选择图片,本地导入就行了。但是可能大小有点不合适,这时右击属性,选择如下:。然后再添加两个label和两个textbox,两个button,这里注意了,button可以设置背景图片,这个很好的。如下所示:还有个技巧:就是设置每个控件的TabIndex,越小就越靠在前面,这样就可以方便的使用tab来切换了。5.首先我们完成注册功能首先添加一个注册窗体,按项目右击添加窗体,就可以了。命名为RegisterForm.cs这里注意:这些按钮什么的都可以向前面的地方复制过来就行了。6.开始编码实现在首页双击注册按钮:然后要实现打开一个新的窗口需要两步:privatevoidbtnRegister_Click(objectsender,EventArgse){//1首先实例化窗口RegisterFormrForm=newRegisterForm();//2显示窗口rForm.Show();}然后在后面添加一个lable这里注意,叉叉符合时label里面的Image属性,然后设置对其为中左。再在Text的前面打三个空格。然后一样的复制三个作为判断,如下:这里要注意的是三个默认是不显示的,设置属性为Visible为false然后编写代码如下://点击注册按钮时privatevoidbtnRegister_Click(objectsender,EventArgse){//第一步验证是否为空boolisEmpty=checkEmpty();if(isEmpty){//插入数据库}}//这个是用来判断是否为空值的privateboolcheckEmpty(){boolresult=true;if(this.txtUserName.Text.Trim()==string.Empty){this.lblNameError.Visible=true;//如果为空就显示错误信息returnfalse;}else{//这个表示如果不为空的话,就隐藏信息this.lblNameError.Visible=false;}if(this.txtPassword.Text.Trim()==string.Empty){this.lblPasswordError.Visible=true;//如果为空就显示错误信息returnfalse;}else{//这个表示如果不为空的话,就隐藏信息this.lblPasswordError.Visible=false;}if(this.txtConfirmPassword.Text.Trim()==string.Empty){this.lblConfigPasswordError.Visible=true;//如果为空就显示错误信息returnfalse;}else{//如何两个密码都输入了这里判断两次密码的值是否相等if(this.txtPassword.Text.Trim()!=this.txtConfirmPassword.Text.Trim()){//这里注意留三个空格,给图片显示this.lblConfigPasswordError.Text=两次输入的密码不一致;this.lblConfigPasswordError.Visible=true;returnfalse;}else{this.lblConfigPasswordError.Visible=false;}}returnresult;}}注意几点:1,密码是明文的,修改密码属性框的属性PasswordChar为*//这个是取消按钮privatevoidbtnCancel_Click(objectsender,EventArgse){this.Close();}3数据库的操作1,编写数据操作类DbhelpernamespaceFamilyFinance{classDbHelper{privatestaticstringstrConn=datasource=.;initialcatalog=FamilyFinace;uid=sa;password=112966391012;publicstaticSqlConnectionconn=newSqlConnection(strConn);}然后编写UserDao类用来操作数据库,以后再慢慢完善这个类namespaceFamilyFinance.Dao{classUserDao{publicboolinsertUser(stringusername,stringpassword){boolresult=false;stringsql=string.Format(insertintoFamilyUser(UserName,UserPassword)values('{0}','{1}'),username,password);SqlCommandcmd=newSqlCommand(sql,DbHelper.conn);DbHelper.conn.Open();intcount=cmd.ExecuteNonQuery();if(count0){result=true;}returnresult;}}}然后再在界面中调用即可,但是注意要引用的空间:usingFamilyFinance.Dao;这个就是上面的namespace。privatevoidbtnRegister_Click(objectsender,EventArgse){//第一步验证是否为空boolisEmpty=checkEmpty();if(isEmpty){//插入数据库UserDaoUserManager=newUserDao();boolresult=UserManager.insertUser(this.txtUserName.Text,this.txtPassword.Text);if(result){MessageBox.Show(添加用户成功);}}}4.实现窗体之间的传值四步走在登录页面下:namespaceFamilyFinance{publicpartialclassLoginForm:Form{publicLoginForm(){InitializeComponent();}privatevoidbtnRegister_Click(objectsender,EventArgse){//1首先实例化窗口RegisterFormrForm=newRegisterForm();rForm.LForm=this;//这里把当前窗口赋给注册窗口中的form实现窗口之间参数的第二步//2显示窗口rForm.Show();}privatevoidbtnLogin_Click(objectsender,EventArgse){}//用来接来注册窗口传递过来的用户名第三步publicvoidGetUserName(stringUserName){txtUserName.Text=UserName;}}在注册页面里面:namespaceFamilyFinance{publicpartialclassRegisterForm:Form{publicLoginFormLForm;//实现窗口之间值传递的第一步,用来保存登录窗口publicRegisterForm(){InitializeComponent();}//点击注册按钮时privatevoidbtnRegister_Click(objectsender,EventArgse){//第一步验证是否为空boolisEmpty=checkEmpty();if(isEmpty){//插入数据库UserDaoUserManager=newUserDao();boolresult=UserManager.insertUser(this.txtUserName.Text,this.txtPassword.Text);if(result){MessageBox.Show(添加用户成功);//添加成功后,将用户名传到登录页面中去。第四步this.LForm.GetUserName(this.txtUserName.Text.Trim());this.Close();}}}//这个是用来判断是否为空值的privateboolcheckEmpty(){boolresult=true;if(this.txtUserName.Text.Trim()==string.Empty){this.lblNameError.Visible=true;//如果为空就显示错误信息returnfalse;}else{//这个表示如果不为空的话,就隐藏信息this.lblNameError.Visible=false;}if(this.txtPassword.Text.Trim()==string.Empty){this.lblPasswordError.Visible=true;//如果为空就显示错误信息returnfalse;}else{//这个表示如果不为空的话,就隐藏信息this.lblPasswordError.Visible=false;}if(this.txtConfirmPassword.Text.Trim()==string.Empty){this.lblConfigPasswordError.Visible=true;//如果为空就显示错误信息returnfalse;}else{//如何两个密码都输入了这里判断两次密码的值是否相等if(this.txtPassword.Text.Trim()!=this.txtConfirmPassword.Text.Trim()){//这里注意留三个空格,给图片显示this.lblConfigPasswordError.Text=两次输入的密码不一致;this.lblConfigPasswordError.Visible=true;returnfalse;}else{this.lblConfigPasswordError.Visible=false;}}returnresult;}//这个是取消按钮privatevoidbtnCancel_Click(objectsender,EventArgse){this.Close();}}}5登录实现1首先建立一个主窗口MainForm这个是登录之后看到的页面2完善界面内容,很多内容可以从外面复制而来。privatevoidbtnLogin_Click(objectsender,EventArgse){intqueryResult=0;boolresult=checkEmpty();//如果用户名和密码都存在就进行房屋数据库if(result){UserDaoUserManager=newUserDao();queryResult=UserManager.queryUser(this.txtUserName.Text,
本文标题:C#家庭理财项目
链接地址:https://www.777doc.com/doc-6314658 .html