只有合法的用户才可以进入系统,同时系统还可以根据登录时的用户类型,给予不同的操作权限。
窗体设计
新建一个Windows窗体,命名为UserLogin_UI.cs,它主要用于实现系统登录功能,当用户输入的用户名和密码不匹配的时候,弹出错误提示,该窗体主要用到的控件、控件属性设置及其用途如下表12所示。
表12系统登录模块主要用到的控件
控件类型 控件名称 主要属性设置 用途 Label userName Visible设为False 显示信息 Label userPassword Visible设为False 显示信息 ComboBoxEdit userNameComboBoxEdit 输入登录用户名 ComboBoxEdit passwordTextEdit PasswordChar设置为* 输入用户密码 RadioGroup userSelectRadioGroup SelectedIndex设置为0 选择用户类型 Button loginButton 登录 Button cancelButton 登录
功能实现
单击"登录"按钮或密码框回车事件,判断用户输入的用户名和密码是否正确,如果正确,则登录到房屋租赁管理系统主界面,同时分配该用户相应的权限,否则弹出"用户名或密码有误"的提示信息。"登录"按钮的Click事件主要代码如下:
private void loginButton_Click(object sender, EventArgs e)
{///判断用户登录信息是否正确
userLoginDA.userLoginChecking(dataTable, user_Type, user_Name, user_Password);
if (dataTable.Rows.Count == 0)
{
MessageBox.Show("用户名或密码有误!", "警告");
}
else
{
//登录成功
MainForm mainForm = new MainForm(userInfo);
mainForm.ShowDialog();
}
}
6.2系统主界面模块设计
系统主界面运行结果如下图12所示
图12系统主界面
功能分析:
主界面主要包含:基本信息、租赁管理、财务管理、报表统计、系统管理五大功能模块,以及基本信息提示和状态栏信息。系统初始化时提示房屋的基本信息,用户可对各个模块作相应的操作。
窗体设计
新建一个Windows窗体,命名为MainForm.cs,它主要用于显示系统各个模块的操作,该窗体主要用到的控件、控件属性设置及其用途如下表13所示。
表13系统主窗口模块主要用到的控件
控件类型 控件名称 主要属性设置 用途 RibbonControl ribbonControl1 LargeImages设置为imageCollection2 基本信息 RibbonControl ribbonControl2 RibbonStyle设置为Office2007 租赁管理 RibbonControl ribbonControl3 SelectedPage设置为ribbonPage1 财务管理 RibbonControl ribbonControl4 ShowExpand设为True 统计报表 RibbonControl ribbonControl5 ShowPageHeaders设为Hide 系统管理 RibbonControl ribbonControl6 ToolbarLocation设为Hidden 退出 TextBox houseCount_text 房源总数 TextBox rentedHouseInfo_text 入住总数 TextBox rentContral_text 合同到期数 TextBox roomHire_text 房租到期数 RibbonStatusBar ribbonStatusBar1 用户名 RibbonStatusBar ribbonStatusBar2 用户级别 RibbonStatusBar ribbonStatusBar3 登录时间 RibbonStatusBar ribbonStatusBar4 当前时间
功能实现
登录到系统主界面后,在基本信息提示栏中提示房屋的总体信息以及租金和合同的提醒信息,基本信息提示栏主要代码如下:
public void SetWarningMeg()
{
//取到房屋总数
DataTable dtAllHouseInfo = new DataTable();
houseInfoDA.selectAllRoomInfo(dtAllHouseInfo);
houseCount_text.Text = "" + dtAllHouseInfo.Rows.Count;
//取到已出租房屋总数
DataTable dtRentedHouseInfo = new DataTable();
houseInfoDA.selectRentedRoomInfo(dtRentedHouseInfo);
rentedHouseInfo_text.Text = "" + dtRentedHouseInfo.Rows.Count;
//取到合同到期总数
int rentControlCount = 0;
RentControlDA rentControlDA = new RentControlDA();
DataTable dtAllRentControl = new DataTable();
rentControlDA.selectStartContractInfo(dtAllRentControl,"");
for (int i = 0; i < dtAllRentControl.Rows.Count; i++)
{
if (DateTime.Parse(dtAllRentControl.Rows[i][5].ToString()).AddMonths(int.Parse(dtAllRentControl.Rows[i][6].ToString())) <= DateTime.Now)
{
re