WinForm简单人员管理系统(未设置弹出唯一窗口限制)

类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 简单人员管理系统1.App_Code
{
    public partial class Users
    {
        Data0425DataContext con = new Data0425DataContext();
        public string NationName()
        {
            return con.Nation.Where(r => r.NationCode == this.Nation).First().NationName;
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 简单人员管理系统1.App_Code
{
    public class NationData
    {
        Data0425DataContext con = new Data0425DataContext();

        public List<Nation> Select()
        {
            return con.Nation.ToList();
        }

    }
}

操作类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 简单人员管理系统1.App_Code
{
    public class UsersData
    {
        Data0425DataContext con = new Data0425DataContext();
        //登录验证
        public Users Select(string uname, string pwd)
        {
            return con.Users.Where(r => r.UserName == uname && r.PassWord == pwd).FirstOrDefault();
        }
        //查询显示
        public List<Users> Select()
        {
            return con.Users.ToList();
        }
        //删除选中的信息
        public void Delete(string key)
        {
            Users u = con.Users.Where(r => r.UserName == key).FirstOrDefault();
            if (u != null)
            {
                con.Users.DeleteOnSubmit(u);
                con.SubmitChanges();
            }
        }
        //添加
        public void Inserti(Users u)
        {
            con.Users.InsertOnSubmit(u);
            con.SubmitChanges();
        }
    }
}

登录界面

后台代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using 简单人员管理系统1.App_Code;

namespace 简单人员管理系统1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            button1.Click += button1_Click;
        }

        void button1_Click(object sender, EventArgs e)
        {
            string uname = textBox1.Text;
            string pwd = textBox2.Text;

            Users u = new UsersData().Select(uname, pwd);

            if (u != null)
            {
                Form2 f2 = new Form2(this);
                f2.Show();
                this.Hide();
            }
            else
            {
                MessageBox.Show("用户名密码输入有误!");
            }
        }
    }
}

主界面:

后台代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using 简单人员管理系统1.App_Code;

namespace 简单人员管理系统1
{
    public partial class Form2 : Form
    {
        Form1 F1 = null;
        public Form2(Form1 fff)
        {
            InitializeComponent();
            F1 = fff;

            this.FormClosing += Form2_FormClosing;

            DataBind();

        }

        void Form2_FormClosing(object sender, FormClosingEventArgs e)
        {
            F1.Close();
        }
        public void DataBind()
        {
            listView1.Items.Clear();
            List<Users> list = new UsersData().Select();

            if (list.Count > 0)
            {
                int code = 1;
                foreach (Users u in list)
                {
                    ListViewItem li = new ListViewItem();
                    li.Text = code.ToString();
                    li.SubItems.Add(u.UserName);
                    li.SubItems.Add(u.PassWord);
                    li.SubItems.Add(u.NickName);
                    li.SubItems.Add((bool)u.Sex ? "男" : "女");
                    li.SubItems.Add(((DateTime)u.Birthday).ToString("yyyy年MM月dd日"));
                    li.SubItems.Add(u.NationName());

                    listView1.Items.Add(li);
                    code++;
                }
            }
        }

        //刷新
        private void button4_Click(object sender, EventArgs e)
        {
            DataBind();
        }

        //删除
        private void button3_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count > 0)
            {
                DialogResult dia = MessageBox.Show("数据删除后不可恢复,是否要删除吗?", "警告!", MessageBoxButtons.OKCancel);

                if (dia == DialogResult.OK)
                {
                    foreach (ListViewItem li in listView1.SelectedItems)
                    {
                        new UsersData().Delete(li.SubItems[1].Text);
                    }
                    DataBind();
                }
            }
            else
            {
                MessageBox.Show("请选中要删除的项!");
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //1、打开添加窗口
            Form3 f3 = new Form3(this);
            f3.Show();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count == 0)
            {
                MessageBox.Show("请先选中要修改的项");
                return;
            }
            if (listView1.SelectedItems.Count > 1)
            {
                MessageBox.Show("只能选择一条数据进行修改");
                return;
            }
            string uname = listView1.SelectedItems[0].SubItems[1].Text;
            string pwd = listView1.SelectedItems[0].SubItems[2].Text;
            Users u =new UsersData().Select(uname,pwd);

            Form3 f3 = new Form3(this, u);
            f3.Show();
        }
    }
}

添加与修改界面:

后台代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using 简单人员管理系统1.App_Code;

namespace 简单人员管理系统1
{
    public partial class Form3 : Form
    {
        Form2 F2 = null;
        Users uuu = null;
        public Form3(Form2 f2)
        {
            InitializeComponent();
            F2 = f2;
            List<Nation> Nlist = new NationData().Select();

            comboBox1.DataSource = Nlist;
            comboBox1.DisplayMember = "NationName";
            comboBox1.ValueMember = "NationCode";
        }

        public Form3(Form2 f2, Users u)
        {
            InitializeComponent();
            F2 = f2;
            List<Nation> Nlist = new NationData().Select();

            comboBox1.DataSource = Nlist;
            comboBox1.DisplayMember = "NationName";
            comboBox1.ValueMember = "NationCode";

            //变成修改界面
            label1.Text = "修改用户";
            button1.Text = "确认修改";

            uuu = u;

            textBox1.Text = u.UserName;
            textBox1.ReadOnly = true;
            textBox2.Text = u.PassWord;
            textBox3.Text = u.NickName;
            if ((bool)u.Sex)
                radioButton1.Checked = true;
            else
                radioButton2.Checked = true;

            dateTimePicker1.Value = (DateTime)u.Birthday;
            comboBox1.SelectedValue = u.Nation;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (uuu == null)
            {
                Users u = new Users();
                u.UserName = textBox1.Text;
                u.PassWord = textBox2.Text;
                u.NickName = textBox3.Text;

                u.Sex = radioButton1.Checked;
                u.Birthday = dateTimePicker1.Value;
                u.Nation = (comboBox1.SelectedItem as Nation).NationCode;

                new UsersData().Inserti(u);
                MessageBox.Show("添加成功!");
            }
            else
            {
                MessageBox.Show("修改成功!");
            }
            F2.DataBind();
            this.Close();
        }
    }
}
时间: 2024-08-04 17:17:33

WinForm简单人员管理系统(未设置弹出唯一窗口限制)的相关文章

弹出唯一窗口

一.MDI窗体弹出唯一窗体 private void button1_Click(object sender, EventArgs e) { //设置一个bool变量,用来标记是否有已打开的重名窗口 bool has = false; Form1 form1 = new Form1(); //遍历mdi子窗口 foreach (Form form in MdiChildren) { //判断是否重名 if (form.Name == form1.Name) { //重名时has为true: ha

JavaScript-1.最简单的程序之网页弹出对话框,显示为Warning---ShinePans

show和set命令是两条用于维护SQLPlus系统变量的命令 : SQL> show all --查看所有系统变量值 SQL>show user --显示当前连接用户 SQL>show error --显示错误(编译function,procedure,package,pl/sql的时候,可以查看具体的错误提示) SQL>set sqlprompt SQL  --设置默认提示符,默认值就是SQL SQL>set linesize 1000 --设置屏幕显示行宽,默认100

简单的jquery点击弹出背景变暗遮罩效果

工作中自己写了一个简单的jquery点击弹出背景变暗遮罩效果,非常好用......只把关键代码贴出来.并实现了点击空白处隐藏弹出层效果. js代码如下: <script type="text/javascript">  $(document).ready(function(){   $(".tkyy").click(function(event){      event.stopPropagation(); //停止事件冒泡    $(".ma

设置弹出框水平、垂直居中

自制一个友好的弹出框,当点击页面某个对象时,弹出提示框,一下是设置弹出框水平和垂直居中的代码: 1 function setElementCoordinate(obj) { 2 var d_width = document.documentElement.clientWidth;//计算当前可显示屏幕的宽度 3 var d_height = document.documentElement.clientHeight;//计算当前可显示屏幕的高度 4 5 var obj_width = $(obj

WPF:设置弹出子菜单的是否可用状态及效果

需求: 设置弹出子菜单(二级)项仅首项可用,其他项均不可用:不可用是呈灰色效果. 注: 菜单项都是依据层级数据模板.具体格式如下: StackBlock{TextBlock{Image}.TextBlock}} 问题: 1.窗体加载后,获取不到二级子菜单控件(二级菜单项弹出后,可获取所有二级子菜单). 注:仅能获取一级菜单控件,但能获取二级子菜单绑定的数据源. 2.层级数据模板内StackBlock设置为不可用时(绑定数据源实现),弹出子菜单不可用,但恢复程序中恢复StackBlock设置为可用

winform弹出唯一窗体的方法

Form1中btn1按钮点击show出Form2,当Form2处于开启状态时,再次点击btn1不会继续弹出窗体,而是将焦点定位至已开启的Form2上:当Form2关闭后,再次点击btn1则会show出一个新的Form2: Form1: //创建一个全局集合,用来放置已经show出的窗体对象 List<Form> list = new List<Form>(); //btn1点击事件: private void button1_Click(object sender, EventAr

android EditText设置弹出数字输入法键盘

<EditText      android:id="@+id/edit_digit_input"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:digits="1234567890."      android:singleLine="true"     

一个简单的弹出alv窗口例子

利用SALV可以简单的实现一个alv弹出窗口,代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 REPORT ztest_salv_popup. DATA go_alv TYPE REF TO cl_salv_table. DATA:git_alv TYPE STANDARD TABLE OF ekko. DATA: lr_functions TYPE R

WPF FileFolderDialog 和弹出子窗口的一些问题

摘要:本文主要是WPF中 FileFolderDialog的相关问题,补充了关于在父窗口弹出子窗口,以及子窗口的相关属性(Data Binding)和命令绑定(Delegate Command)问题,里面还有关于如何使用读写xml文件内容的方法. 需要注意的地方: (1)对于每一个窗口(父窗口和子窗口),如果涉及到Data Binding相关问题的时候,均需要设置其对应的DataContext(一般为其ViewModel); (2)对于未在构造函数中初始化的属性,需要在定义的时候进行实例化(如下