通过坐标如何取组件

wnlwcg 2010-01-29 04:09:00
我用的vs 2005

建了两个panel,已知其中一个A的坐标,另一个B和他的行坐标相同,我想通过A取得B。然后调用B中的方法。

有什么办法吗??
...全文
100 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyerwing 2010-02-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zgke 的回复:]
没理解
窗体.GetChildAtPoint(坐标) 看看.
[/Quote]
树控件:
TreeNode node = treeview1.GetNodeAt(X,Y);
wnlwcg 2010-02-01
  • 打赏
  • 举报
回复
自己顶~
wnlwcg 2010-01-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zgke 的回复:]
没理解

窗体.GetChildAtPoint(坐标) 看看.
[/Quote]
Control^ contr =  this->GetChildAtPoint(Point(53, 95))->GetChildAtPoint(Point(13, 41));
(CheckBox^)contr->Checked = true;

(CheckBox^)contr 这句是不能执行的,还有其他什么办法实现我想要的吗
wnlwcg 2010-01-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 deyter 的回复:]
没有必要吧
把对象加到一个集合中

C# codeprivate List<Label> lb_list=new List<Label>();

lb_list.Add(label1);
lb_list.Add(label2);
……
为什么要通过坐标的方式来呢
[/Quote]
			CheckBox^ CheckBox =  gcnew System::Windows::Forms::CheckBox();
CheckBox->AutoSize = true;
CheckBox->Location = System::Drawing::Point(13, 41);
CheckBox->Name = L"checkBox" + ControlIndex;
CheckBox->Size = System::Drawing::Size(36, 16);
CheckBox->Text = checkBoxName;
CheckBox->UseVisualStyleBackColor = true;
panel->Controls->Add(CheckBox);

我创建组件时,对象都是一样的,只有
CheckBox->Name = L"checkBox" + ControlIndex;
不一样,但如果我把名字加到集合里,我又不知道怎么通过名字取得对象。
我最终是想做 checkBox->Checked = true;
deyter 2010-01-29
  • 打赏
  • 举报
回复
没有必要吧
把对象加到一个集合中


private List<Label> lb_list = new List<Label>();

lb_list.Add(label1);
lb_list.Add(label2);
……


为什么要通过坐标的方式来呢
wnlwcg 2010-01-29
  • 打赏
  • 举报
回复
我动态生成了很多组件,对象名都是一样的。
组件的name不一样。

感觉用坐标应该能取到,就是不知道怎么取,要是能取到就很快捷了。
zgke 2010-01-29
  • 打赏
  • 举报
回复
没理解

窗体.GetChildAtPoint(坐标) 看看.
绝代坏坏 2010-01-29
  • 打赏
  • 举报
回复
为啥非得用坐标呀。直接用对象不行么。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧