首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#窗体怎么在点击"删除"按钮、成功删除数据后,重新加载窗体

2013-08-27 
C#窗体如何在点击删除按钮、成功删除数据后,重新加载窗体?这是窗体界面图下面是删除按钮里面的代码privat

C#窗体如何在点击"删除"按钮、成功删除数据后,重新加载窗体?
这是窗体界面图
C#窗体怎么在点击"删除"按钮、成功删除数据后,重新加载窗体


下面是删除按钮里面的代码

       private void del_fm_Click(object sender, EventArgs e)
        {
            int id = Convert.ToInt32(((Button)sender).Tag);
            bool num = new BLL_NetworManagement.BLL_FMmodulator().Delete(id);
            if (num)
            {
                this.Invalidate();
                //this.Refresh();
                MessageBox.Show("删除成功");
            }
            else
            {
                MessageBox.Show("删除失败");
            }
        }



用户控件


using System;
using System.ComponentModel;
using System.Windows.Forms;
using System.Drawing;

namespace Test
{
    public partial class Controller : UserControl
    {
        private Label lblTime;
        private Label lblSysStatus;


        private RadioButton rbtnSysStatus;
        private Button btnLookup;
        private Button btnDelete;

        public event EventHandler Lookup;
        public event EventHandler Delete;

        public string SysTime
        {
            get { return lblTime.Text; }
            set { lblTime.Text = value; }
        }
        public string SysStatusMsg
        {
            get { return lblSysStatus.Text; }
            set { lblSysStatus.Text = value; }
        }
        public bool SysStatus
        {
            get { return rbtnSysStatus.Checked; }
            set { rbtnSysStatus.Checked = value; }
        }

        public Controller()
        {
            InitializeComponent();

            SetupControl();
        }

        //可以直接在IDE布局这些控件,这里用于讲解
        private void SetupControl()
        {
            this.SuspendLayout();
            lblTime = new Label();
            lblTime.Name = "lblTime";
            lblTime.Location = new Point(10, 20);

            lblSysStatus = new Label();


            lblSysStatus.Name = "lblSysStatus";
            lblSysStatus.Location = new Point(10, 50);

            rbtnSysStatus = new RadioButton();
            rbtnSysStatus.Name = "rbtnSysStatus";
            rbtnSysStatus.Text = "";
            rbtnSysStatus.Location = new Point(80, 45);

            btnLookup = new Button();
            btnLookup.Name = "btnLookup";
            btnLookup.Text = "查看";
            btnLookup.Width = 50;
            btnLookup.Location = new Point(10, 90);
            btnLookup.Click += new EventHandler(btnLookup_Click);

            btnDelete = new Button();
            btnDelete.Name = "btnDelete";
            btnDelete.Text = "删除";
            btnDelete.Width = 50;
            btnDelete.Location = new Point(70, 90);
            btnDelete.Click += new EventHandler(btnDelete_Click);

            this.Controls.Add(lblTime);
            this.Controls.Add(rbtnSysStatus);
            this.Controls.Add(lblSysStatus);
            this.Controls.Add(btnLookup);
            this.Controls.Add(btnDelete);

            this.BorderStyle = BorderStyle.FixedSingle;
            this.BackColor = Color.LightSkyBlue;



            this.ResumeLayout();
        }

        private void btnLookup_Click(object sender, EventArgs e)
        {
            OnLookup(e);
        }

        private void btnDelete_Click(object sender, EventArgs e)
        {
            OnDelete(e);
        }

        private void OnDelete(EventArgs e)
        {
            EventHandler temp = Delete;
            if (temp != null)
                temp(this,e);
        }

        private void OnLookup(EventArgs e)
        {
            EventHandler temp = Lookup;
            if (temp != null)
                temp(this, e);
        }
    }
}



界面

using System;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Windows.Forms;

namespace Test
{
    public partial class Form1 : Form
    {
        FlowLayoutPanel controllers;

        public Form1()
        {
            InitializeComponent();

            SetupControl();
        }

        private void SetupControl()
        {
            controllers = new FlowLayoutPanel();


            controllers.AutoScroll = true;
            controllers.Dock = DockStyle.Fill;
            controllers.BackColor = Color.LightSkyBlue;
            groupBox1.Controls.Add(controllers);

            LoadControllers();
        }

        //可以从数据库读取数据进行绑定
        private void LoadControllers()
        {
            for (int i = 0; i < 15; i++)
            {
                Controller ctler = new Controller();
                ctler.Name = i.ToString();
                ctler.SysTime = DateTime.Now.ToString();
                ctler.SysStatusMsg = "系统待机";
                ctler.SysStatus = i % 2 == 0 ? true : false;
                ctler.Lookup += new EventHandler(ctler_Lookup);
                ctler.Delete += new EventHandler(ctler_Delete);

                controllers.Controls.Add(ctler);
            }
        }

        //删除,从容器移除它
        private void ctler_Delete(object sender, EventArgs e)
        {
            Controller ctler = sender as Controller;
            if (ctler != null)
            {


                if (controllers.Controls.Contains(ctler))
                    controllers.Controls.Remove(ctler);
            }
        }
        //可以处理查看功能
        private void ctler_Lookup(object sender, EventArgs e)
        {
            MessageBox.Show((sender as Controller).Name);
        }
    }
}

热点排行