110,567
社区成员
发帖
与我相关
我的任务
分享
public class NetStateEvent
{
public delegate void IsConnectChange(object sender, EventArgs e);
public event IsConnectChange OntempChange;
bool IsConnect = false; //网络连接是否成功的标志位,初始值false
public bool isConnect
{
get { return IsConnection; }
set
{
if (IsConnection == true)
{
OntempChange(this, new EventArgs());
}
isConnect = value;
}
}
}
主窗体的函数调用
public MainForm()
{
netStateEvent.OntempChange += new NetStateEvent.IsConnectChange(netStateEvent_OntempChange);//使用+=运算符将事件绑定给函数
InitializeComponent();
}
private void netStateEvent_OntempChange(object sender, EventArgs e)
{
label1.Text = "网络已连接";
label1.ForeColor = Color.Blue;
}
public delegate void DelegateSetText(string value);
public event DelegateSetText SetTextEvent; // 定义事件
/// <summary>
/// 触发事件
/// </summary>
/// <param name="value"></param>
private void RaiseEvent(string value)
{
if (SetTextEvent != null)
SetTextEvent(value);
}
/// <summary>
/// 发送
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
// this.textBox1.Text
RaiseEvent("点击了:" + (sender as Button).Text);
}
父窗口:
TargetForm frm = new TargetForm();
frm.SetTextEvent += new TargetForm.DelegateSetText(frm_SetTextEvent);
frm.Show();
void frm_SetTextEvent(string value)
{
// 处理value 值
}
public class Test{//你的自定义类
public delegate void StatusChangedEventHandler(object obj,StatusChangedEventArgs e);
public event StatusChangedEventHandler StatusChanged;
protected virtual void OnStatusChanged(StatusChangedEventArgs e){
if (this.StatusChanged != null) this.StatusChanged(e);
}
public enum Status{ Close }
//在你内里面 状态改变的时候 调用这个
this.OnStatusChanged(new StatusChangedEventArgs("your log"));
public class StatusChangedEventArgs : EventArgs{
private Status _Status;
public Status Status{
get{ return _Status; }
}
public StatusChangedEventArgs(Status s){
this._Status = s;
}
}
}
//====调用
Test t = new Test();
t.StatusChanged += new StatusChangedEventHandler(test_StatusChanged);
private void test_StatusChanged(object obj,StatusChangedEventArgs e){
//这里事件会被触发自己YY吧
}