Event handling example
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;
}