📄 mainform.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DataBaseManagerLibrary;
//主界面类,由于考虑到最后的集成,因此将所有子系统的用户自定义控件装入此类,这样这个类的规模比较大,
//而且按钮的处理函数很多。
//同时,采用类似树形结构的主菜单,更进一步增加了类的复杂性。
namespace CommunityManagementSystem
{
public partial class MainForm : Form
{
DataBaseManager DBManager; //数据库操作通用类
private Int64 userID; //存储用户编号ID
private Int64 userPWD; //存储用户密码
private String userCategory; //存储用户的类型,etc:系统管理员、财务部、后勤部
private String userName;
private String selectButton = "";//记住前次点击的主按钮的名称,当第二次点击相同的大按钮时,
//系统不会重绘
/* private void test() {
DataGridView dgv = new DataGridView();
DataTable dt = new DataTable();
dt.Select(
}*/
public MainForm()
{
}
public MainForm(DataBaseManager DBManager) {
this.DBManager = DBManager;
userID = 0;
userPWD = 0;
userCategory = "未登录";
InitializeComponent();
InitPanel();
foldLeftSideButton();
disVisibleAllPanel();
loginPanel.Visible = true;
}
#region 将子系统的按钮全部设为隐藏
private void foldLeftSideButton() {
bTenementData.Visible=false;
bFeeStatus.Visible=false;
bMeter.Visible=false;
bAlarm.Visible = false;
bPublicFacility.Visible=false;
bPublicFacilityUsage.Visible=false;
bFacilityMaintenance.Visible = false;
bFinance.Visible = false;
bPayableAccount.Visible = false;
bDeal.Visible = false;
bClientList.Visible = false;
bDaiLing.Visible = false;
bAccrualAmortisement.Visible = false;
bCorpusAmortisement.Visible = false;
bCorpusRemaining.Visible = false;
bLandValueAddedTaxValue.Visible = false;
bContractTax.Visible = false;
bHouseTax.Visible = false;
bPersonal.Visible = false;
bHoliday.Visible = false;
bWorkArrange.Visible = false;
bTask.Visible = false;
bOvertime.Visible = false;
bWage.Visible = false;
bBulletin.Visible = false;
bCoCompany.Visible = false;
}
private void bTenementManagementUnfold() {
if (userCategory == "未登录") return;
if (selectButton == "住户管理") return;
selectButton = "住户管理";
foldLeftSideButton();
bTenementData.Visible = true;
bFeeStatus.Visible = true;
bMeter.Visible = true;
bAlarm.Visible = true;
}
private void bPublicManagementUnfold(){
if (userCategory == "未登录") return;
if (selectButton == "公共管理") return;
selectButton = "公共管理";
foldLeftSideButton();
bPublicFacility.Visible = true;
bPublicFacilityUsage.Visible = true;
bFacilityMaintenance.Visible = true;
}
private void bFinancialManagementUnfold(){
if (userCategory == "未登录") return;
if (selectButton == "财务管理") return;
selectButton = "财务管理";
foldLeftSideButton();
bFinance.Visible = true;
bPayableAccount.Visible = true;
}
private void bDealManagementUnfold(){
if (userCategory == "未登录") return;
if (selectButton == "交易管理") return;
selectButton = "交易管理";
foldLeftSideButton();
bDeal.Visible = true;
bClientList.Visible = true;
}
private void bLogisticsManagementUnfold(){
if (userCategory == "未登录") return;
if (selectButton == "差勤管理") return;
selectButton = "差勤管理";
foldLeftSideButton();
bPersonal.Visible = true;
bHoliday.Visible = true;
bWorkArrange.Visible = true;
bTask.Visible = true;
bOvertime.Visible = true;
bWage.Visible = true;
}
private void bHouseholdServiceUnfold(){
if (userCategory == "未登录") return;
if (selectButton == "居家服务") return;
selectButton = "居家服务";
foldLeftSideButton();
bDaiLing.Visible = true;
}
private void bDistillateDoctorUnfold(){
if (userCategory == "未登录") return;
if (selectButton == "精算博士") return;
selectButton = "精算博士";
foldLeftSideButton();
bAccrualAmortisement.Visible = true;
bCorpusAmortisement.Visible = true;
bCorpusRemaining.Visible = true;
bLandValueAddedTaxValue.Visible = true;
bContractTax.Visible = true;
bHouseTax.Visible = true;
}
private void bCommunityPosUnfold(){
if (userCategory == "未登录") return;
if (selectButton == "社区咨讯") return;
selectButton = "社区咨讯";
foldLeftSideButton();
bBulletin.Visible = true;
}
private void bCooperativeCompanyUnfold()
{
if (userCategory == "未登录") return;
if (selectButton == "协力厂商") return;
selectButton = "协力厂商";
foldLeftSideButton();
bCoCompany.Visible = true;
}
#endregion
//下面是主界面左侧大按钮的事件处理程序,点击效果是弹出对应的子系统按钮,并隐藏其他子系统按钮
#region 左侧按钮事件处理程序
private void bTenementManagement_Click(object sender, EventArgs e){
bTenementManagementUnfold();
}
private void bPublicManagement_Click(object sender, EventArgs e){
bPublicManagementUnfold();
}
private void bFinancialManagement_Click(object sender, EventArgs e)
{
bFinancialManagementUnfold();
}
private void bDealManagement_Click(object sender, EventArgs e)
{
bDealManagementUnfold();
}
private void bLogisticsManagement_Click(object sender, EventArgs e)
{
bLogisticsManagementUnfold();
}
private void bHouseholdService_Click(object sender, EventArgs e)
{
bHouseholdServiceUnfold();
}
private void bDistillateDoctor_Click(object sender, EventArgs e)
{
bDistillateDoctorUnfold();
}
private void bCommunityPost_Click(object sender, EventArgs e)
{
bCommunityPosUnfold();
}
private void bCooperativeCompany_Click(object sender, EventArgs e)
{
bCooperativeCompanyUnfold();
}
private void label1_Click(object sender, EventArgs e)
{
MessageBox.Show("ok");
}
#endregion
private void flowLayoutPanel1_Paint(object sender, PaintEventArgs e)
{
SetStyle(ControlStyles.SupportsTransparentBackColor, false );
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private bool checkInput() {
if (tbAdminID.Text == "" || tbAdminID.Text.Trim() == "") {
MessageBox.Show("管理员号码为空");
return false;
}
try {
int.Parse(tbAdminID.Text.Trim());
}catch(Exception exception){
MessageBox.Show("管理员编号格式错误");
return false;
}
return true;
}
private void bLogin_Click(object sender, EventArgs e)
{
Int64 UserID = 0;
Int64 psw = 0;
String UserCategory = null;
//检查用户输入格式是否正确
if (checkInput() == false) return;
//从数据库读入相应信息,并通过返回是否为空来检查是否执行正确
DataTable dataTable = DBManager.ExecuteSelectCommand("select * from 系统用户信息 where 管理员帐号=" + tbAdminID.Text);
if (dataTable == null)
{ //数据库操作错误
MessageBox.Show(this, DBManager.errorMessage);
this.Close();
}
if (dataTable.Rows.Count == 0)
{ //Rows长度为0,因此没有找到对应ID的系统用户
MessageBox.Show("不存在此用户");
tbAdminID.SelectAll();
tbAdminID.Focus();
return;
}
psw = (Int64)dataTable.Rows[0]["管理员密码"];
String s = psw + "";
if (s.Equals(tbPassword.Text)) //密码正确,登陆主界面
{
userCategory="系统管理员";
userName=(String)dataTable.Rows[0]["管理员姓名"];
loginPanel.Visible = false;
welcomePanel.Visible = true;
}
else
{
MessageBox.Show(this, "密码错误");//密码错误,弹出出错信息
tbPassword.Focus();
}
}
private void bBack_Click(object sender, EventArgs e)
{
if (userCategory == "未登录") return;
foldLeftSideButton();
disVisibleAllPanel();
welcomePanel.Visible = true;
}
private void bRedo_Click(object sender, EventArgs e)
{
tbAdminID.Text = "";
tbPassword.Text = "";
}
private void disVisibleAllPanel()
{
welcomePanel.Visible = false;
loginPanel.Visible = false;
tenementPanel.disVisilize();
dealPanel.disVisilize();
clientListPanel.disVisilize();
houseServicePanel.disVisilize();
cooperatePanel.disVisilize();
facilityMainteenPanel.disVisilize();
chaQinInfoPanel.disVisilize();
personalPanel.disVisilize();
financialPanel.disVisilize();
propertyPanel.disVisilize();
facilitysPanel.disVisilize();
}
private void InitPanel()
{
tenementPanel.setDataBaseManager(DBManager);
dealPanel.setDataBaseManager(DBManager);
clientListPanel.setDataBaseManager(DBManager);
houseServicePanel.setDataBaseManager(DBManager);
cooperatePanel.setDataBaseManager(DBManager);
facilityMainteenPanel.setDataBaseManager(DBManager);
chaQinInfoPanel.setDataBaseManager(DBManager);
personalPanel.setDataBaseManager(DBManager);
financialPanel.setDataBaseManager(DBManager);
propertyPanel.setDataBaseManager(DBManager);
facilitysPanel.setDataBaseManager(DBManager);
}
private void bRelogin_Click(object sender, EventArgs e)
{
disVisibleAllPanel();
foldLeftSideButton();
userCategory = "未登录";
tbAdminID.Clear();
tbPassword.Clear();
loginPanel.Visible = true;
}
private void bTenementData_Click(object sender, EventArgs e)
{
disVisibleAllPanel();
tenementPanel.visilize();
}
private void bDeal_Click(object sender, EventArgs e)
{
disVisibleAllPanel();
dealPanel.visilize();
}
private void bClientList_Click(object sender, EventArgs e)
{
disVisibleAllPanel();
clientListPanel.visilize();
}
private void bDaiLing_Click(object sender, EventArgs e)
{
disVisibleAllPanel();
houseServicePanel.visilize();
}
private void bCoCompany_Click(object sender, EventArgs e)
{
disVisibleAllPanel();
cooperatePanel.visilize();
}
private void bFacilityMaintenance_Click(object sender, EventArgs e)
{
disVisibleAllPanel();
facilityMainteenPanel.visilize();
}
private void bHoliday_Click(object sender, EventArgs e)
{
disVisibleAllPanel();
chaQinInfoPanel.visilize();
}
private void bPersonal_Click(object sender, EventArgs e)
{
disVisibleAllPanel();
personalPanel.visilize();
}
private void bPayableAccount_Click(object sender, EventArgs e)
{
disVisibleAllPanel();
financialPanel.visilize();
}
private void bFinance_Click(object sender, EventArgs e)
{
disVisibleAllPanel();
propertyPanel.visilize();
}
private void bPublicFacility_Click(object sender, EventArgs e)
{
disVisibleAllPanel();
facilitysPanel.visilize();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -