关于控件的句柄随笔

在使用c#语言时,创建一个控件时,并不意味着该控件的句柄被创建,一个控件的句柄被创建时,必然会触发该控件的Load事件,如果在调用某些代码之前要确保控件的句柄被创建,可以使用控件的Load事件或者HandleCreated事件,一个控件在触发这两个事件时,其句柄一定是成功创建的状态。

如果有一段代码要操作UI控件,但你又不确定这段代码将来一定会在ui线程上调用,那么就需要使用控件的InvokeRequired属性来决定是否从ui线程上操作该控件了。

该属性为true时,表明当前线程并非创建控件句柄的线程,需要使用控件的Invoke调用操作控件的代码。该属性为false时,说明当前线程为创建控件句柄的线程,或者控件的句柄还没有被创建,则不需要使用控件的Invoke调用操作控件的代码。

相关推荐
kylezhao201916 小时前
C#连接plc之 Model、DAL、BLL、Common三层架构可扩展
开发语言·c#
bugcome_com16 小时前
深入浅出 C# 扩展方法:为现有类型 “无痛” 扩展功能
c#
先生沉默先17 小时前
c#Socket学习,使用Socket创建一个在线聊天,日志笔记(5)
笔记·学习·c#
Yasin Chen18 小时前
C#闭包陷阱2
c#
jiayong2318 小时前
Word 使用指南:标题间距调整与核心功能详解
开发语言·c#·word
MyBFuture18 小时前
C# 二进制数据读写与BufferStream实战
开发语言·c#·visual studio
wuguan_19 小时前
C#种更高级的文件处理
算法·c#
你不是我我19 小时前
【Java 开发日记】我们来说一下 synchronized 与 ReentrantLock 的区别
开发语言·c#
阿蒙Amon1 天前
C#每日面试题-重写和重载的区别
开发语言·c#
阿蒙Amon1 天前
C#每日面试题-委托和事件的区别
java·开发语言·c#