C#里到底什么是句柄
展开全部
句柄(Handle)就是对象生成前系统分配的一个ID。既然是系统分配的ID,那肯定每个都不同。
可以这样理解,国家(理解为系统),国家给每一个人都分配了一个身份证(理解为Handle),有了身份证,你能办理银行业务,你能签证,你能移民,你能享有中国公民因该有的服务。但是你没有,你就是黑户,什么都不能做。
你创建一个Windowns窗体应用程序,运行后,你的窗体上所有的控件本身窗体都拥有了一个ID,你可以拿着这个ID得到该控件或窗体所有能得到的服务,在计算机中系统提供的服务就是API(应用程序接口)调用,你有了Handle,就可以理直气壮地向系统提出调用API的服务。
可以这样理解,国家(理解为系统),国家给每一个人都分配了一个身份证(理解为Handle),有了身份证,你能办理银行业务,你能签证,你能移民,你能享有中国公民因该有的服务。但是你没有,你就是黑户,什么都不能做。
你创建一个Windowns窗体应用程序,运行后,你的窗体上所有的控件本身窗体都拥有了一个ID,你可以拿着这个ID得到该控件或窗体所有能得到的服务,在计算机中系统提供的服务就是API(应用程序接口)调用,你有了Handle,就可以理直气壮地向系统提出调用API的服务。
展开全部
因为C#很多的东西都是直接拖进窗口就行了,所以会造成对这方面的东西不是很理解。举个例子吧:
首先定义一个类Class t{}
接下来有如下的句子:
t TJuBing; 和 t TJuBing=new t();
这两句话是什么意思呢?
第一句是,我这里有一个叫TJuBing的句柄,它可以指向类t的实例化对象,但是我只定义了这个句柄,没有用它指向具体的实例。
第二句就是,有这么一个句柄,同时我创建了类t的实例,我用它指向该实例。
接下来,再来一个例子,
t TJuBing;
t=new t();
t=new t(c);//C代表参数,假设有两个构造函数,以示和上面的区别
那t指向谁呢,指向第二个t的实例,第一个就没有句柄指向了,一般来说,你就没法对它操作了。
句柄就好像C的指针。
最后说下,C#的一个好处就是,学起来简单,因为很多东西不需要你去敲代码了,直接就能用;缺点也是这里,让你面向对象的很多概念不清楚。
首先定义一个类Class t{}
接下来有如下的句子:
t TJuBing; 和 t TJuBing=new t();
这两句话是什么意思呢?
第一句是,我这里有一个叫TJuBing的句柄,它可以指向类t的实例化对象,但是我只定义了这个句柄,没有用它指向具体的实例。
第二句就是,有这么一个句柄,同时我创建了类t的实例,我用它指向该实例。
接下来,再来一个例子,
t TJuBing;
t=new t();
t=new t(c);//C代表参数,假设有两个构造函数,以示和上面的区别
那t指向谁呢,指向第二个t的实例,第一个就没有句柄指向了,一般来说,你就没法对它操作了。
句柄就好像C的指针。
最后说下,C#的一个好处就是,学起来简单,因为很多东西不需要你去敲代码了,直接就能用;缺点也是这里,让你面向对象的很多概念不清楚。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C#中很少用句柄这个概念,大多数WINDOWS句柄都被封装成类了。
比如说窗体类,控件类,串口类,文件类等等,这些类对象其实都对应有一个句柄。一般来说这个句柄保存在这些对象的成员属性中。
比如Form.hWnd。
比如说窗体类,控件类,串口类,文件类等等,这些类对象其实都对应有一个句柄。一般来说这个句柄保存在这些对象的成员属性中。
比如Form.hWnd。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我通常说获取某控件的语句柄
其实就是获取这个控件的操作对象
在程序中可通过FindControl或控件ID获取
其实就是获取这个控件的操作对象
在程序中可通过FindControl或控件ID获取
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询