c#如何获取动态添加的控件名

c#如何获取动态添加的控件名,第1张

private void button1_Click(object sender, EventArgs e)

{

Control[] controls = tabControl1TabPages[tabControl1SelectedIndex]Controls;//获得当前选中的选项卡

WebBrowser currentBrowser=null;

foreach (Control ctl in controls)//找到当前选项卡里的WebBrowser

{

if (ctlGetType() = typeof(WebBrowser))

{

currentBrowser = ctl as WebBrowser;

}

}

currentBrowserNavigate(thistextBox1Text);//导航你要的URL

}

楼上的方法虽然行的通,但对控件ID依赖过大,ID变更(或者说生成ID的方法变更),代码就得改;

getwindowtext是用来获取窗口标题的,不是类名,类名应该用getclassname。代码如下:

Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long

Private Sub Command1_Click()

Dim a As String 256

GetClassName Combo1hwnd, a, 255

Text1Text = a

End Sub

这是效果图。

dim a as string256是建立一个缓冲区来存放类名a。

版本 2程序集 窗口程序集1

程序集变量 计算器句柄, 整数

程序集变量 句柄0, 整数型

程序集变量 句柄1, 整数型

程序集变量 句柄2, 整数型

程序集变量 句柄3, 整数型

程序集变量 句柄4, 整数型

程序集变量 句柄5, 整数型

程序集变量 句柄6, 整数型

程序集变量 句柄7, 整数型

程序集变量 句柄8, 整数型

程序集变量 句柄9, 整数型子程序 __启动窗口_创建完毕计算器句柄 = FindWindowA (“SciCalc”, “计算器”)

句柄0 = FindWindowEx (计算器句柄, 0, “Button”, “0”)

句柄1 = FindWindowEx (计算器句柄, 0, “Button”, “1”)

句柄2 = FindWindowEx (计算器句柄, 0, “Button”, “2”)

句柄3 = FindWindowEx (计算器句柄, 0, “Button”, “3”)

句柄4 = FindWindowEx (计算器句柄, 0, “Button”, “4”)

句柄5 = FindWindowEx (计算器句柄, 0, “Button”, “5”)

句柄6 = FindWindowEx (计算器句柄, 0, “Button”, “6”)

句柄7 = FindWindowEx (计算器句柄, 0, “Button”, “7”)

句柄8 = FindWindowEx (计算器句柄, 0, “Button”, “8”)

句柄9 = FindWindowEx (计算器句柄, 0, “Button”, “9”)

标签2标题 = 到文本 (计算器句柄)

标签00标题 = 到文本 (句柄0)

标签01标题 = 到文本 (句柄1)

标签02标题 = 到文本 (句柄2)

标签03标题 = 到文本 (句柄3)

标签04标题 = 到文本 (句柄4)

标签05标题 = 到文本 (句柄5)

标签06标题 = 到文本 (句柄6)

标签07标题 = 到文本 (句柄7)

标签08标题 = 到文本 (句柄8)

标签09标题 = 到文本 (句柄9)子程序 _按钮1_被单击SendMessageA (句柄0, 513, 0, 0)

SendMessageA (句柄0, 514, 0, 0)子程序 _按钮2_被单击SendMessageA (句柄1, 513, 0, 0)

SendMessageA (句柄1, 514, 0, 0)子程序 _按钮3_被单击SendMessageA (句柄2, 513, 0, 0)

SendMessageA (句柄2, 514, 0, 0)子程序 _按钮4_被单击SendMessageA (句柄3, 513, 0, 0)

SendMessageA (句柄3, 514, 0, 0)子程序 _按钮5_被单击SendMessageA (句柄4, 513, 0, 0)

SendMessageA (句柄4, 514, 0, 0)子程序 _按钮6_被单击SendMessageA (句柄5, 513, 0, 0)

SendMessageA (句柄5, 514, 0, 0)子程序 _按钮7_被单击SendMessageA (句柄6, 513, 0, 0)

SendMessageA (句柄6, 514, 0, 0)子程序 _按钮8_被单击SendMessageA (句柄7, 513, 0, 0)

SendMessageA (句柄7, 514, 0, 0)子程序 _按钮9_被单击SendMessageA (句柄8, 513, 0, 0)

SendMessageA (句柄8, 514, 0, 0)子程序 _按钮10_被单击SendMessageA (句柄9, 513, 0, 0)

SendMessageA (句柄9, 514, 0, 0)相关API版本 2DLL命令 SendMessageA, 整数型, , "SendMessageA"

参数 hWnd

参数 Msg

参数 wParam

参数 lParamDLL命令 FindWindowA, 整数型, , "FindWindowA", 公开

参数 类名, 文本型

参数 标题, 文本型DLL命令 FindWindowEx, 整数型, , "FindWindowExA", , 获得一个窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配

参数 hwndParent, 整数型, , 要查找子窗口的父窗口句柄

参数 hwndChildAfter, 整数型, , 子窗口句柄

参数 lpszClass, 文本型, , 指向一个指定了类名的空结束字符串

参数 lpszWindow, 文本型, , 指向一个指定了窗口名(窗口标题)的空结束字符串

以上就是关于c#如何获取动态添加的控件名全部的内容,包括:c#如何获取动态添加的控件名、vb 如何获取ThunderRT6ComboBox类名 控件的内容、易语言里,如何得到外部程序的控件的句柄,类名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9632235.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存