invoke方法invokeRequred方法,这些在C#里是可以使用的,...........
invoke方法invokeRequred方法,这些在C#里是可以使用的,在MSdN里的解释都是什么句柄啊,Inptr指针啊之类的,难道我学C#做事必须要了解C++的内容吗? 
 比如:InvokeRequired   在什么时候返回False等等...我没有学过C++,Msdn的解释所以就不明白了. 
 关于要理解这两个方法,我要具备的知识有那些啊??? 
 这两个方法,.Net类库有没有代替它的吗??/
------解决方案--------------------多少学一点C++有好处。。 
------解决方案--------------------public bool InvokeRequired { get; } 
     System.Windows.Forms.Control 的成员   
 摘要: 
 获取一个值,该值指示调用方在对控件进行方法调用时是否必须调用 Invoke 方法,因为调用方位于创建控件所在的线程以外的线程中。   
 返回值: 
 如果控件的 System.Windows.Forms.Control.Handle 是在与调用线程不同的线程上创建的(说明您必须通过 Invoke 方法对控件进行调用),则为 true;否则为 false。
------解决方案--------------------一般用到线程时候,需要改变控件的属性..等,才用的     
 public void abc(string e) 
 { 
    if(控件名.InvokeRequired) 
   { 
     Invoke(new 委托(abc),new object[]{e}); 
   } 
   else 
   { 
     改变控件属性等... 
   } 
 }     
 }
------解决方案--------------------在多线程操作控件的情况下,如果当前线程不是创建控件的线程,如果要更改控件的属性,就必须调用Invoke方法,此时,invokeRequred应该返回true; 
 Invoke方法需要传递一个委托实例,比如要对ListView控件在另外线程上添加一项的话,就必须调用Invoke方法 
 delegate void AddItem(ListViewItem item); 
 event AddItem OnAddItem; 
 this.OnAddItem+=new AddItem(this_OnAddItem); 
 void this_OnAddItem(ListViewItem item) 
 { 
     listView1.Items.Add(item); 
 } 
 //添加项 
 listView1.Invoke(OnAddItem,new object[]{new ListViewItem( " ")});