| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1086 人关注过本帖
标题:专家进来回答一下!
只看楼主 加入收藏
zmidl
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2009-4-3
结帖率:90.32%
收藏
已结贴  问题点数:100 回复次数:10 
专家进来回答一下!
寻求一个问题,本来想很简单的,可是到目前好几天都做不出来!难道就无解了吗??专家因该可以了去我的难题了吧!
   

    如图: 一个游戏窗体 下面的一个ListView 控件 下面有两个项目分别是“电动汽车”“淞南土特产”
    在这游戏窗体背后是一个句柄查看器,找出了这个ListView 控件的句柄:2622064。
    问题来了,我要通过已知的这个控件句柄 2622064 来获得此控件的项信息 “电动汽车”
    button_Click....
    {
          // 当点击某个按钮后 我要标签控件显示我要的信息
          label.Text=........ //“电动汽车”
    }
    以上这个效果我搞好几天一直无法实现,目前痛苦中!希望专家 高人们帮一把。
搜索更多相关主题的帖子: ListView 
2009-08-19 10:09
shanbiao
Rank: 2
等 级:论坛游民
帖 子:11
专家分:44
注 册:2009-8-19
收藏
得分:0 

不明白!
2009-08-19 10:26
jedypjd
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1096
专家分:4969
注 册:2009-7-27
收藏
得分:0 
楼主有点钻牛角尖了,你光这样描述实在让人不知道问题在哪

天涯无岁月,歧路有风尘,百年浑似醉,是非一片云
2009-08-19 17:19
yangglemu
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:521
注 册:2006-9-15
收藏
得分:100 
Form f= Form.From(IntPtr hWnd)

试着挣个威望!
2009-08-20 07:51
zmidl
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2009-4-3
收藏
得分:0 
以下是引用yangglemu在2009-8-20 07:51的发言:Form f= Form.From(IntPtr hWnd)
貌似没有此方法。倒是找到两个Form f= Form.FromHandle()Form f= Form.FromChildHandle()我用了这Form f= Form.FromHandle(我的已知控件句柄);由于我是通过FindWindows获取的句柄 所以此句柄是控件类型的,而这里是 Form 类型,于是编译器提示我control无法强制转换为form不知道该如何办了。
2009-08-20 09:01
zmidl
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2009-4-3
收藏
得分:0 
以下是引用shanbiao在2009-8-19 10:26的发言:不明白!
通过控件的句柄来获取控件的实例 再通过控件的实例获取控件项目里的字符信息!!这样还不明白????
2009-08-20 09:05
zmidl
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2009-4-3
收藏
得分:0 
以下是引用jedypjd在2009-8-19 17:19的发言:楼主有点钻牛角尖了,你光这样描述实在让人不知道问题在哪
通过控件的句柄来获取控件的实例 再通过控件的实例获取控件项目里的字符信息!!这样还不明白????
2009-08-20 09:06
yangglemu
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:521
注 册:2006-9-15
收藏
得分:0 
Form f=Form.FromHandle(hWnd);
ListView lv=null;
foreach(control c in f.Controls)
{
if( c is ListView)
{
lv=c as ListView;
}
}
if(lv!=null)
{
 ......
.....
}

貌似如何?

[ 本帖最后由 yangglemu 于 2009-8-20 11:42 编辑 ]

试着挣个威望!
2009-08-20 11:41
zmidl
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2009-4-3
收藏
得分:0 
貌似还是不行啊,依然无法转换类型,于是我把 Form 改成了 Control
Control cl=Control.FromHandle(已知句柄);类型一样了。没有报错。
接下来 我用 ListView lv=(ListView)cl;
强制把 cl控件转成了 ListView 然后准备读取 lv.Items[0].Subitems[0].Text
本来以为大功告成了。编译器说“未将对象引用设置到对象的实例”
也就是说我还是没有得到listview 控件的实例咯????
到底那里有问题啊??
2009-08-20 14:42
yangglemu
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:521
注 册:2006-9-15
收藏
得分:0 
你那个游戏的Control不是.NET的Control,估计问题出在这里,要用微软的MFC来获取控件,用.NET行不通

试着挣个威望!
2009-08-20 22:22
快速回复:专家进来回答一下!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030308 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved