//form1
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace inventory1
{
public partial class Form1 : Form
{
storage y;
public Form1()
{
InitializeComponent();
y = new storage();
//raise event my_alert_delegate != null otherwise my_alert_delegate == null
y.my_alert_delegate +=y_x;
}
private void y_x(object sender, alert_args e)
{
MessageBox.Show(" low level " + e.quantity.ToString());
}
private void button1_Click(object sender, EventArgs e)
{
y.decrease();
textBox1.Text = y.quantity.ToString();
y.check_quantity();
}
}
}
--------------------------------------------------------------------------
//storage.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace inventory1
{
public class storage
{
public int quantity { get; set; }
public delegate void alert_delegate(object sender, alert_args e);
public event alert_delegate my_alert_delegate;
public storage()
{
quantity = 10;
}
public storage(int a)
{
quantity = a;
}
public void check_quantity()
{
if (quantity < 5)
{
if (my_alert_delegate != null)
{
my_alert_delegate.Invoke(this, new alert_args { quantity = this.quantity });
}
}
}
public void decrease()
{
quantity--;
}
}
}
-----------------------------------------------------------------------------
//alert_args.csusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace inventory1
{
public class alert_args : EventArgs
{
public int quantity { get; set; }
}
}
No comments:
Post a Comment