委托与事件的简单应用(不同控件之间的控制及参数传递,C# VB)
2008-06-30 16:12
796 查看
在应用用户控件中,经常会遇到一个控件控制另一个控件的情况,同时还需要将参数传送给去。现举一个简单的实例,控件中的按钮按下后,在主页面中输入一个行参数。
控件中的代码:
public partial class WebUserControlWithEvent : System.Web.UI.UserControl
{
public delegate void SendMessage(string strMsg);
public event SendMessage sendTextEvent;
protected void btnSubmit_Click(object sender, EventArgs e)
{
//事件的触发点:
sendTextEvent(txtMsg.Text);
}
protected void Page_Load(object sender, EventArgs e)
{
//.....
}
}
主页面中引入控件后的代码:
public partial class EventSample : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
WebUserControlWithEvent1.sendTextEvent += new WebUserControlWithEvent.SendMessage(WebUserControlWithEvent1_sendTextEvent);
}
void WebUserControlWithEvent1_sendTextEvent(string strMsg)
{
ShowMessage(strMsg);
}
private void ShowMessage(string strMessage)
{
//.......
}
}
__________________________________________________________________________________
用VB写的代码如下(VB中的实例为二个参数):
控件中:
Partial Class WebControlWithEvent
Inherits System.Web.UI.UserControl
Public Delegate Sub SendMessage(ByVal msgId As String, ByVal msgTxt As String)
Public Event sendTextEvent As SendMessage
Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
RaiseEvent sendTextEvent("SA001", txtMsg.Text)
End Sub
End Class
主页面中引入控件后的代码:
Partial Class SampleEvent
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
AddHandler WebControlWithEvent1.sendTextEvent, AddressOf obj_SendMessage
End Sub
Sub obj_SendMessage(ByVal msgId As String, ByVal msgTxt As String)
MessageBarControl1.ShowMessage("SA", msgId, New String() {msgTxt}, MessageBarControl.MessageType.InformMsg)
End Sub
End Class
控件中的代码:
public partial class WebUserControlWithEvent : System.Web.UI.UserControl
{
public delegate void SendMessage(string strMsg);
public event SendMessage sendTextEvent;
protected void btnSubmit_Click(object sender, EventArgs e)
{
//事件的触发点:
sendTextEvent(txtMsg.Text);
}
protected void Page_Load(object sender, EventArgs e)
{
//.....
}
}
主页面中引入控件后的代码:
public partial class EventSample : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
WebUserControlWithEvent1.sendTextEvent += new WebUserControlWithEvent.SendMessage(WebUserControlWithEvent1_sendTextEvent);
}
void WebUserControlWithEvent1_sendTextEvent(string strMsg)
{
ShowMessage(strMsg);
}
private void ShowMessage(string strMessage)
{
//.......
}
}
__________________________________________________________________________________
用VB写的代码如下(VB中的实例为二个参数):
控件中:
Partial Class WebControlWithEvent
Inherits System.Web.UI.UserControl
Public Delegate Sub SendMessage(ByVal msgId As String, ByVal msgTxt As String)
Public Event sendTextEvent As SendMessage
Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
RaiseEvent sendTextEvent("SA001", txtMsg.Text)
End Sub
End Class
主页面中引入控件后的代码:
Partial Class SampleEvent
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
AddHandler WebControlWithEvent1.sendTextEvent, AddressOf obj_SendMessage
End Sub
Sub obj_SendMessage(ByVal msgId As String, ByVal msgTxt As String)
MessageBarControl1.ShowMessage("SA", msgId, New String() {msgTxt}, MessageBarControl.MessageType.InformMsg)
End Sub
End Class
相关文章推荐
- JS控制静态页面之间传递参数获取参数并应用的简单实例
- C# 委托与事件简单应用
- C# 同一应用程序域不同线程之间的参数传递方式
- JS控制静态页面之间传递参数获取参数并应用(window.location)
- c#中的委托和事件的简单实例_c#应用
- 委托(参数传递简单应用示例)
- C# 同一应用程序域不同线程之间的参数传递方式
- c# 不同project之间参数传递及调用
- cocos2dx EventListenerCustom类控制事件的分发 处理不同层之间的事件传递以及自定义用户数据
- datagrid的几点简单应用,功能包括radio的单选,checkbox的多选,鼠标移动到行上颜色变深,链接传递多参数等功能。这里radio和checkbox都使用的是HTML控件。
- JS控制静态页面之间传递参数获取参数并应用
- JS控制静态页面之间传递参数获取参数并应用(window.location)
- .net杂记 (调用EXE 获取路径 target VB DIV C# Split 页面之间传递值 更改session时间 EXCEL操作 控制电子邮件Mail input记录值的窍门)
- C# 同一应用程序域不同线程之间的参数传递方式
- C# 委托与事件简单应用
- 【C#】delegate(委托) 将方法作为参数在类class 之间传递
- 事件委托应用:在父控件中创建子控件,并接收值
- C#跨线程修改控件——从MSIL和汇编看Invoke, 多线程, 事件与事件委托
- c# 2个窗体之间传递的简单方法
- 【原创】C# 委托与事件的传递与封装案例