遍历窗体内控件

cyd411 2009-10-21 12:58:41
For Each a As Control In Me.Controls
If TypeOf (a) Is Label Then
a.Text = K
End If
Next




怎么讲这段代码修改成VC.NET下的代码?

其主要实现的是对窗体内的控件进行便利。


遍历后看这个控件是不是 label 如果是在进行其他的操作。
...全文
220 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyd411 2009-10-21
  • 打赏
  • 举报
回复
Pocket PC 2003

没用过,网上让你添加的库文件名叫什么?
fjw666 2009-10-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fjw666 的回复:]
vs2005编译后出现无法解析的外部文件,咋回事呀!!!网上说要添加库文件,但是本人实在不知道要添加什么样的库文件,多谢高手指点。

编译后显示结果:

------ 已启动生成: 项目: myFirstWithVS9, 配置: Debug Pocket PC 2003 (ARMV4) ------
正在链接...
mainWndProc.obj : error LNK2019: 无法解析的外部符号 __security_cookie,该符号在函数 "long __cdecl goPaintMain(struct HWND__ *,unsigned int,unsigned int,long)" (?goPaintMain@@YAJPAUHWND__@@IIJ@Z) 中被引用
mainWndProc.obj : error LNK2019: 无法解析的外部符号 __security_check_cookie,该符号在函数 "long __cdecl goPaintMain(struct HWND__ *,unsigned int,unsigned int,long)" (?goPaintMain@@YAJPAUHWND__@@IIJ@Z) 中被引用
Pocket PC 2003 (ARMV4)\Debug/myFirstWithVS9.exe : fatal error LNK1120: 2 个无法解析的外部命令
生成日志保存在“ file://e:\新建文件夹\myFirstWithVS9\myFirstWithVS9\Pocket PC 2003 (ARMV4)\Debug\BuildLog.htm”
myFirstWithVS9 - 3 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========



[/Quote]

楼主帮忙解决下撒,我实在没办法才跑进来的。不好意思哈
fjw666 2009-10-21
  • 打赏
  • 举报
回复
vs2005编译后出现无法解析的外部文件,咋回事呀!!!网上说要添加库文件,但是本人实在不知道要添加什么样的库文件,多谢高手指点。

编译后显示结果:

------ 已启动生成: 项目: myFirstWithVS9, 配置: Debug Pocket PC 2003 (ARMV4) ------
正在链接...
mainWndProc.obj : error LNK2019: 无法解析的外部符号 __security_cookie,该符号在函数 "long __cdecl goPaintMain(struct HWND__ *,unsigned int,unsigned int,long)" (?goPaintMain@@YAJPAUHWND__@@IIJ@Z) 中被引用
mainWndProc.obj : error LNK2019: 无法解析的外部符号 __security_check_cookie,该符号在函数 "long __cdecl goPaintMain(struct HWND__ *,unsigned int,unsigned int,long)" (?goPaintMain@@YAJPAUHWND__@@IIJ@Z) 中被引用
Pocket PC 2003 (ARMV4)\Debug/myFirstWithVS9.exe : fatal error LNK1120: 2 个无法解析的外部命令
生成日志保存在“ file://e:\新建文件夹\myFirstWithVS9\myFirstWithVS9\Pocket PC 2003 (ARMV4)\Debug\BuildLog.htm”
myFirstWithVS9 - 3 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========


cyd411 2009-10-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yfqvip 的回复:]
C# code
System::Windows::Forms::Label lbl;for (int i=0;i<this->Controls->Count;i++)
{if (this->Controls[i]->GetType()==lbl.GetType())
{this->Controls[i]->Text=L"123";//如果不是unicode编码则去掉L }
}
本地测试通过,拿分来!
[/Quote]

我最后用的是这个方法过的
其中很重要的一点是System::Windows::Forms::Label lbl类型获得,这个我研究了半天谢谢

新问题出现了

怎么控制下遍历的顺序呢?

真相重于对错 2009-10-21
  • 打赏
  • 举报
回复
c++/cli 也有
for each
String ^ MyString = gcnew String("abcd");

for each ( Char c in MyString )
Console::Write(c);
满衣兄 2009-10-21
  • 打赏
  • 举报
回复

System::Windows::Forms::Label lbl;
for (int i=0;i<this->Controls->Count;i++)
{
if (this->Controls[i]->GetType()==lbl.GetType())
{
this->Controls[i]->Text=L"123";//如果不是unicode编码则去掉L
}
}

本地测试通过,拿分来!
yangsh3002 2009-10-21
  • 打赏
  • 举报
回复

for(int i=0; i<this->Controls->Count; i++)
{
if(this->Controls[i]->GetType()->ToString() == "System.Windows.Forms.Label")
{
//......

}
}
足球中国 2009-10-21
  • 打赏
  • 举报
回复

for ( int i =0; i < this->Controls->Count ;i++)
{
System::Windows::Forms ::MessageBox::Show (i.ToString ());
}

7,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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