c#应用窗体中如何在button事件中去获取textbox的值

c#应用窗体中如何在button事件中去获取textbox的值,第1张

public static string textbox = stringEmpty;//这么定义其他类就可以用Form1text直接访问了

private void button1_Click(object sender, EventArgs e)

{

textbox = thistextBox1Text;

//MessageBoxShow( thistextBox1Text);

}

不知道你解决了没,最近正好研究python。

hwnd=win32guiFindWindow()这个获取窗体句柄,大概都会用;

ctrl=win32guiFindWindowEx(hwnd,None,'窗口类名',‘标题文本’)已知控件类名或控件名时获取控件句柄,这个标题文本不一定存在,所以使用None默认值获取的是该窗口类名中第一个顺位的控件句柄。

你使用b=win32guiGetDlgItem(edit,资源ID)最终结果是获取的是句柄,这里的资源ID其实是spy++中的窗口ID,句柄是可变的,窗口ID是不可变的。这里似乎错了,你这样子大概获取的是控件中的子项(控件有子项的话,比如Combox中的edit框),我猜的,没试过。b=win32guiGetDlgItem(hwnd,窗口ID)是已知ID下获取某控件句柄

如果你想获取某个控件的ID则ctrlid=win32guiGetDlgCtrlID(ctrl)这是一只某控件句柄的情况下获取该控件在应用程序中的窗口ID。

如果不知控件句柄的情况下大概可以试试spy++获取窗口ID,把窗口ID(这个是16进制的)转化成10进制带进b=win32guiGetDlgItem(hwnd,窗口ID)大概也可以得到控件句柄。

其实就是三个函数之间的转化

ctrl=win32guiFindWindowEx(hwnd,None,'edit',None)控件句柄

ctrlid=win32guiGetDlgCtrlID(ctrl)控件的窗口id

ctrl2=win32guiGetDlgItem(hwnd,ctrlid)控件句柄

print "%x" %ctrllist

print "%x" %ctrlid

print "%x" %ctrl

输出,看一下数据与spy++是否一致。然后ctrl=ctrl2

在C#中,您可以通过以下几种方式在一个窗体中调用另一个窗体的控件中的数据:

使用对话框形式调用另一个窗体,在打开的窗体中通过控件名称读取数据。

通过实例化另一个窗体,将其显示为模态对话框,读取控件中的数据。

通过使用公共属性或公共方法从另一个窗体读取数据。

以下是一个例子,该例子使用对话框形式调用另一个窗体:

Form2 frm = new Form2();

frmShowDialog();

textBox1Text = frmtextBox2Text;

在上面的代码中,我们实例化了窗体Form2,并调用了ShowDialog()方法将其显示为模态对话框。 然后,我们读取了窗体Form2中textBox2的文本,并将其分配给主窗体中的textBox1。

以上就是关于c#应用窗体中如何在button事件中去获取textbox的值全部的内容,包括:c#应用窗体中如何在button事件中去获取textbox的值、python pywin32 里面 *** 作窗体,获取窗体里面的数据,在函数GetDlgItem函数中,怎么获取第二个参数的值、C#中如何在一个窗体中调用另一个窗体控件中的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/10170892.html

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

发表评论

登录后才能评论

评论列表(0条)

保存