`

控件的事件丢失

 
阅读更多
在vs.net中经常遇到事件丢失的问题,可以这样避免一下

方法一:
把InitializeComponent中的注册事件,如下
privatevoidInitializeComponent()
{
this.DropDownList1.SelectedIndexChanged+=newSystem.EventHandler(this.DropDownList1_SelectedIndexChanged);
this.Button1.Click+=newSystem.EventHandler(this.Button1_Click);this.Load+=newSystem.EventHandler(this.Page_Load);
}
剪切到override protected void OnInit(EventArgs e)里面,如下
overrideprotectedvoidOnInit(EventArgse)
{
this.DropDownList1.SelectedIndexChanged+=newSystem.EventHandler(this.DropDownList1_SelectedIndexChanged);
this.Button1.Click+=newSystem.EventHandler(this.Button1_Click);
this.Load+=newSystem.EventHandler(this.Page_Load);
}

方法二:
把InitializeComponent中的注册事件,如下
privatevoidInitializeComponent()
{
this.DropDownList1.SelectedIndexChanged+=newSystem.EventHandler(this.DropDownList1_SelectedIndexChanged);
this.Button1.Click+=newSystem.EventHandler(this.Button1_Click);
this.Load+=newSystem.EventHandler(this.Page_Load);
}
剪切到你的自定义方法中
privatevoidLoadEvent()
{
this.DropDownList1.SelectedIndexChanged+=newSystem.EventHandler(this.DropDownList1_SelectedIndexChanged);
this.Button1.Click+=newSystem.EventHandler(this.Button1_Click);
this.Load+=newSystem.EventHandler(this.Page_Load);
}
然后在pageload中调用自定义方法就可以了,如
privatevoidPage_Load(objectsender,System.EventArgse)
{
if(!Page.IsPostBack)
{
LoadEvent();
}

}

每次需要注册方法时,就在刚才的剪切区注册就可以了,这样虽然麻烦一些,但是可以保证事件不会丢失。
分享到:
评论

相关推荐

    HTML服务器控件与Web服务器控件的区别

    Web 服务器控件的事件处理是由服务器处理的,事件仅由浏览器生成,但浏览器不会处理事件,客户端需要向服务器发送信息,告诉服务器处理事件。 五、控件的选择 选择何种控件取决于具体的需求。如果需要复杂的业务...

    excel打开提示:此工作簿已丢失其VBA项目,ActiveX控件

    ### Excel打开提示:“此工作簿已丢失其VBA项目,ActiveX控件”解析与解决方案 #### 一、问题背景及现象 在使用Excel时,可能会遇到一个较为特殊且令人困惑的问题——“此工作簿已丢失其VBA项目,ActiveX控件”。...

    利用SerialPort控件实现PC与PC串口通信(事件方式&查询方式)

    在事件方式中,SerialPort控件会触发各种事件,如DataReceived事件,当串口接收到数据时自动调用。这使得程序可以在不主动查询的情况下处理数据,提高效率。以下是一个简单的事件方式通信示例: 1. 创建SerialPort...

    web服务器控件与html服务器控件的区别及用法

    对于Web服务器控件,事件是由服务器端代码处理的,客户端只需要触发事件即可。而HTML服务器控件的事件处理则更接近于传统的HTML,大多数情况下需要通过JavaScript在客户端处理事件。 - **示例**:对于一个文本框...

    海康内部ocx视频控件,海康官方ocx控件下载,C,C++

    此外,海康ocx控件通常会提供事件机制,让开发者可以监听设备状态变化,如视频丢失、设备离线等,从而实现更高级别的应用逻辑。同时,为了优化用户体验,开发者还可以利用控件提供的API实现录像回放、云台控制等功能...

    C# DataGridView单元格中动态添加多个控件

    3. **保存和恢复控件状态**:当`DataGridView`重绘或数据重新加载时,动态添加的控件会丢失。因此,需要在适当的时候(如`FormClosing`事件)保存控件的状态,并在需要时(如`Load`事件)恢复这些状态。 4. **性能...

    VB .net SerialPort控件使用详解

    首先,SerialPort控件的DataReceived事件是串口接收到数据时触发的事件,但是这个事件的触发机制是串口接收到不大于SerialPort1.ReceivedBytesThreshold个字节的时候触发的。这个阈值可以根据实际情况进行设置,...

    ASP.NET中html控件和web控件的区别

    - HTML 控件不具备回传功能,因此在用户操作后,如点击按钮,控件的状态通常会丢失,除非使用JavaScript或其他客户端技术来维护。 3. **事件处理**: - HTML 控件的事件处理主要在客户端进行,通过JavaScript或者...

    asp.net 动态添加控件

    在回发过程中,由于ASP.NET的页面生命周期,这些动态添加的控件会丢失,因此需要在每次回发时重新创建。客户端则主要关注如何显示这些动态生成的控件以及处理与它们相关的事件。 二、动态添加控件的步骤 1. 创建...

    VB制作水泵控件

    总结,"VB制作水泵控件"项目涵盖了VB用户控件的创建、事件驱动编程、状态显示、异常处理、UI设计、测试以及文档编写等多个核心知识点。通过实践这个项目,开发者不仅可以提升VB编程技能,还能对硬件控制、人机交互等...

    web动态加载用户控件

    2. 动态加载的控件在PostBack中可能丢失状态,需要手动保存和恢复状态。 总结,C#中的Web动态加载用户控件是一种强大的设计模式,它使得Web应用程序能够更加灵活、高效地处理用户交互。通过理解并熟练运用这一技术...

    浪潮控件注册工具(解决浪潮控件丢失或者调用失败).rar

    当浪潮财务软件出现控件丢失或者调用失败时,可以使用这个控件注册工具,WIN7以上使用管理员身份运行。PS控件注册工具使用说明适用范围:本工具适用于以下需要注册PS控件的情况,适用于ps6.x至ps11.x,程序自动判断...

    Gridview控件的使用详解

    在本文中,我们将深入探讨GridView控件的使用,包括其主要功能、事件及其生命周期。 首先,GridView控件的核心功能是绑定数据源并呈现数据。它支持多种数据源,如SqlDataSource、ObjectDataSource等。当数据绑定到...

    InTouch历史报警/历史事件控件V2.1.6更新版,免制作(适用于各个版本)

    本控件是针对于InTouch各个版本开发的报表插件,专用于历史报警和历史事件的查询、导出、统计、分析,对于新手非常友好,免去了程序脚本的编写开发,安装成功后直接拖出来就可以使用了。界面美观大方,与InTouch深度...

    vc树型控件与列表控件的应用

    这包括添加、删除和修改节点,以及处理用户交互事件。实现动态分割窗口意味着程序可以调整用户界面的布局,使得树型控件与其他控件并排显示,提供更好的用户体验。 列表控件(CListCtrl)则常用于显示多列数据,每...

    基于事件驱动的串口通讯控件 Ver 1.0

    - 自动数据缓冲:在接收数据时,控件内部会自动管理缓冲区,避免数据丢失。 - 事件通知机制:如OnDataReceived事件,当有数据到达时,控件会触发该事件,通知应用程序处理。 - 错误处理:提供错误处理机制,如...

    在_Web_Form_动态建立控件的正确方法

    当动态创建控件时,如果不希望这些控件丢失状态,就需要确保这些控件能够在ViewState中被正确地加载。这就需要我们在页面初始化时就完成控件的创建工作,以便ViewState能够正确地保存和恢复它们的状态。 #### 五、...

    多列Combbox控件

    4. **焦点管理**:描述中提到的焦点问题指的是在某些控件上可能出现的焦点丢失或混乱情况。多列Combbox控件的实现需要确保焦点操作正确无误,用户可以顺利地通过键盘导航和选择项。 5. **事件处理**:为了提供与...

    excel 日期控件

    mscomct2.ocx是ActiveX插件公用管理模块,缺少它可能会造成部分软件不能正常运行,可能造成以下几种情况:如office窗体控件丢失,vb控件不可用,EXCEL日历控件没有找到等等,这些都是mscomct2.ocx控件包丢失所造成的...

    asp.net 动态添加删除控件

    - 由于动态控件在每次回发时都会丢失,所以我们不能直接为它们绑定事件处理程序。需要在Page_Load中再次添加事件处理程序。 - 使用`FindControl`方法找到动态生成的控件,然后使用`AddHandler`方法附加事件处理...

Global site tag (gtag.js) - Google Analytics