已知一个ListView 控件句柄了 ,如何得到ListView下面的信息??
比如:电动汽车和淞南土特产。用GetWindowText吗???论坛里有朋友提示用过GetWindowText 但是我读取的txt确是该控件的标题信息而已!到底如何做到可以读取我要的东西呢??

解决方案 »

  1.   

    读取窗体上的控件(ListView )的text
      

  2.   

    关键是如何获得ListView中那些项的句柄。
      

  3.   

    在Windows中,窗口中的控件也视作为子窗口的。EnumChildWindows不知道能不能取得这些句柄?未经测试。
      

  4.   

    for (int i = 0; i < this.Controls.Count; i++)    //窗体中所有控件中寻找 
                { 
                    Control cl = this.Controls[i];
                    if(cl的句柄.Eqaule(已知的句柄))
                       {
                        找到了;
                           break;
                        } 
               }
    我用这个方法来遍历窗体 寻找我要的控件 但是 这里的this.Controls 我要换成我的主窗体 如何做??
      

  5.   

    代码写在哪个类里面,这个this就会代表哪个类。
    换言之,如果将这些代码写在主窗的代码中,那么这个this自然就代表你的主窗体了。
      

  6.   

    this就是该类的指针对不!
    现在,我要让编译器知道我要遍历的主窗体该如何办??
    就是 this.Controls 变成我指定的窗体 比如 Form f=new Form(); f.Control.....
    如何给编译器知道f是我的主窗体呢???
      

  7.   


    对阿,要遍历的话首先要知道遍历的对象阿,这里的f.Conrtols可以是任何窗体,我要如何给f.Controls知道我要遍历的对象呢???
      

  8.   

    什么是窗体引用??
    比如一个窗体 句柄是1111 标题是 "管理窗口" 如何 遍历该窗口来得到它的一个子按钮的属性???
    比如以下代码:
    for (int i = 0; i < this.Controls.Count; i++)    
                { 
                    Control 子控件 = this.Controls[i];
    这里的this.Controls 应该是 管理窗口 现在如何做到???
      

  9.   

    1..Net中的窗体,与Windows中的窗口并不完全一样,.Net中遍历子控件的方式绝对不适用于Windows窗口。
    2.即使该窗口是一个.Net应用程序的窗口,从外部访问也只能按照Windows窗口的方式来对待。遍历子控件的方式只适用于.Net内部,在你能够取得该窗体的引用的前提下。
    3.EnumChildWindows可用于拥有句柄的情况下遍历子窗口。
      

  10.   

    同一个进程中,获取所有子窗体很容易
    foreach (Form item in Application.OpenForms)
              {
                 if (item.Text != "WinApp")
                    item.Hide();
           }
    如果不是,那就要WinApi呢
      

  11.   


    不行啊,item 是程序自己的窗体实例,本身窗体隐藏了,需要获取的窗体一动不动!!
    如何是好啊??