Event handling example

31/10/2011 14:43

public partial class Popup : UserControl
    {
        public delegate void popup_click(object sender, System.EventArgs e);
        popup_click popup_EventDelegate;

        new public event popup_click Click
        {
            add
            {
                this.popup_EventDelegate += value;
            }
            remove
            {
                this.popup_EventDelegate -= value;
            }
        }

        string selected = string.Empty;
        int svalue = 0;
        int addedvalue = 0;
        string selectedtxt = string.Empty;
        static int flg = 0;

        public Popup()
        {
            InitializeComponent();
        }

        public void bind_addon(string cap, string name, string selectedtext, int selectedvalue)
        {
            lblname.Text = cap;

            selected = name;
            selectedtxt = txtname.Text = selectedtext;
            svalue = selectedvalue;
            if (selectedvalue > 0)
            {
                btnDelete.Enabled = true;
                flg = 1;

            }
            else
            {
                btnDelete.Enabled = false;
            }

        }

        private void pbExit_Click(object sender, EventArgs e)
        {
            this.Hide();
        }

        private void btnNew_Click(object sender, EventArgs e)
        {
            txtname.Text = string.Empty;
            btnSave.Enabled = true;
            flg = 0;
        }
        public int get_newindex()
        {
            return addedvalue;
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            if (flg == 0)
            {
                switch (selected)
                {
                    case "generic":
                        addedvalue = Treatment_BL.Insert_Generic(txtname.Text, Common.GetDate());
                        break;
                    case "trade":
                        addedvalue = Treatment_BL.Insert_Trade(Treatment.Genericid,txtname.Text, Common.GetDate());
                        break;
                    case "form":
                        addedvalue = Treatment_BL.Insert_Form(txtname.Text,Login.Username, Common.GetDate());
                        break;
                   
                }
            }
            else
            {
                switch (selected)
                {
                    case "generic":
                        Treatment_BL.Update_Generic(svalue, txtname.Text, Common.GetDate());
                        addedvalue = svalue;
                        flg = 0;
                        break;
                    case "trade":
                        Treatment_BL.Update_Trade(svalue, txtname.Text, Common.GetDate());
                        addedvalue = svalue;
                        flg = 0;
                        break;
                    case "form":
                        Treatment_BL.Update_Form(svalue, txtname.Text, Login.Username, Common.GetDate());
                        addedvalue = svalue;
                        flg = 0;
                        break;
                   

                }
            }
            if (this.popup_EventDelegate != null)
                this.popup_EventDelegate(sender, EventArgs.Empty);
            
        }

        private void btnDelete_Click(object sender, EventArgs e)
        {
            switch (selected)
            {
                case "generic":
                    Treatment_BL.Delete_Generic(svalue, Common.GetDate());
                    break;
                case "trade":
                    Treatment_BL.Delete_Trade(svalue, Common.GetDate());
                    break;
                case "form":
                    Treatment_BL.Delete_Form(svalue,Login.Username ,Common.GetDate());
                    break;
              

            }
            if (this.popup_EventDelegate != null)
                this.popup_EventDelegate(sender, EventArgs.Empty);
        }

 

 

 

----Form code-------

 

 

private void pbEditGeneric_Click(object sender, EventArgs e)
        {
            pu_generic.Visible = true;
            pu_generic.BringToFront();
            pu_generic.bind_addon("Generic Name", "generic", ((get_integer(cmbGenericName.SelectedValue) > 0) ? cmbGenericName.Text.ToString() : ""), (get_integer(cmbGenericName.SelectedValue) > 0) ? get_integer(cmbGenericName.SelectedValue) : 0);

        }
        private void pu_generic_Click(object sender, EventArgs e)
        {
            bindGeneric();
            int gid = pu_generic.get_newindex();
            if (gid > 0)
                cmbGenericName.SelectedValue = gid;
            pu_generic.Visible = false;
        }