社区
C#
帖子详情
已经知道一个控件的名称,如何获取它的句柄?
o1o
2006-03-01 11:16:25
已经知道图片控件的名称(例如"S_192_168_0_138_3A_4D")
如何取得该控件?
就是想根据图片控件的名称更改控件的一些属性,非常的急,在线等,简单问题,得到答案马上结贴.
...全文
182
9
打赏
收藏
已经知道一个控件的名称,如何获取它的句柄?
已经知道图片控件的名称(例如"S_192_168_0_138_3A_4D") 如何取得该控件? 就是想根据图片控件的名称更改控件的一些属性,非常的急,在线等,简单问题,得到答案马上结贴.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wxdl1981
2006-03-01
打赏
举报
回复
不用获取句柄(Handle)
void Control FindControl(string ctrlName)
{
foreach (Control ctrl in this.Controls) {
if (ctrl.Name == ctrlName))
return ctrl;
}
return null;
}
不过如果你的控件不是只接放在窗体上的(如 放在窗体内的另一个Panel中),就要这样了:
void Control FindControl(Control parent, string ctrlName)
{
foreach (Control ctrl in parent.Controls) {
if (ctrl.Name == ctrlName))
return ctrl;
else
{
Control searched = FindControl(ctrl, ctrlName);
if(searched != null) return searched;
}
}
return null;
}
sxlfybb
2006-03-01
打赏
举报
回复
//纠正一下
private IntPtr hwnd; //查找结果
private void FindSubControl(Control.ControlCollection con)
{
foreach (Control control in con)
{
if (control.GetType().ToString() == "System.Windows.Forms.PictureBox")
{
if (control.Name == "xxx")
{
this.hwnd = control.Handle; //如果已找到即赋句柄
return;
}
}
else if (control.HasChildren) //如果当前不是,并且有子控件继续查找
FindSubControl (control.Controls);
}
}
private void button1_Click(object sender, System.EventArgs e)
{
FindSubControl( this.Controls ); //开始查找
}
sxlfybb
2006-03-01
打赏
举报
回复
private IntPtr hwnd; //查找结果
private void FindSubControl(Control.ControlCollection con)
{
foreach (Control control in con)
{
if (control.GetType().ToString() == "System.Windows.Forms.PictureBox")
{
this.hwnd = control.Handle; //如果已找到即赋句柄
}
else if (control.HasChildren)
FindSubControl (control.Controls);
}
}
private void button1_Click(object sender, System.EventArgs e)
{
FindSubControl( this.Controls );
}
idda
2006-03-01
打赏
举报
回复
foreach (Control ctr in this.Controls) {
if (ctr.Name == "YourControlName")
return ctr;
}
lidong6
2006-03-01
打赏
举报
回复
for (int i=0;i<this.Controls.Count;i++)
{
if (this.Controls[i].Name=="XXX")
{
PictureBox p=(PictureBox)this.Controls[i];
...
}
}
李洪喜
2006-03-01
打赏
举报
回复
使用foreach在controls内递归遍历吧。
o1o
2006-03-01
打赏
举报
回复
进程内的,遍历主窗体的Controls集合的方法是什么样的,请举个例子,非常的急啊.
其实简单地说就是代码生成了很多个图片控件,每个控件我都定义了一个不同的名称,现在想根据这个名称更改该控件的属性.
wxdl1981
2006-03-01
打赏
举报
回复
如果是进程内,只要遍历主窗体的Controls集合就行了.
如果是进程外,就要调用API函数FindWindow()了
心情解码
2006-03-01
打赏
举报
回复
:)
--
通过
控件
句柄
获取
控件
实例
创建一Delphi工程,放置
一个
TEdit和... ---------------通过
控件
句柄
获取
控件
实例-------------------------------------------- ---------------原理详见 Classes.pas 单元,13045行 ------------------------ -
C#
获取
窗口(
控件
)
句柄
,
名称
,标题,根据
句柄
获得该对象
//声明 提示:文章写完后,目录...
句柄
的
获取
,
句柄
名称
的
获取
,
句柄
像
控件
的转化 二、使用步骤 1.引入方法 代码如下(示例): //
获取
窗口标题 [DllImport("user32", SetLastError = true)] private stati...
通过窗口
句柄
获取
控件
信息
通过
句柄
获取
控件
信息
【python
句柄
获取
】——简单明了的
获取
窗口
句柄
,并使用
句柄
操作
获取
相应内容(全网最详细)
通过标题
名称
获取
句柄
#通过窗口标题
获取
句柄
hld = win32gui.FindWindow(None,u"此电脑") 通过
句柄
获得标题 # 通过
句柄
获得标题 def get_title(hwnd): title = win32gui.GetWindowText(hwnd) print('窗口...
C#使用Windows api
获取
无标题
控件
内的某个
控件
句柄
/// <summary>... ///
获取
窗体的
句柄
函数 /// </summary> /// <param name="lpClassName">窗口类名</param> /// <param name="lpWindowName">窗口标题名</param>...
C#
110,536
社区成员
642,578
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章