【发布时间】:2011-06-30 14:30:55
【问题描述】:
我觉得我在这里遗漏了一些非常明显的东西。
我知道表单通常具有Handle 属性,但我使用的是System.Windows.Controls.TextBox,它没有Handle 属性。
如何访问TextBox 的句柄?我注意到RichTextBox 有Handle 属性,那么为什么不是常规的TextBox?
【问题讨论】:
我觉得我在这里遗漏了一些非常明显的东西。
我知道表单通常具有Handle 属性,但我使用的是System.Windows.Controls.TextBox,它没有Handle 属性。
如何访问TextBox 的句柄?我注意到RichTextBox 有Handle 属性,那么为什么不是常规的TextBox?
【问题讨论】:
你可以在 TextBox 上调用Handle。它是从System.Windows.Forms.Control 继承的属性。
编辑:问题已更新为询问 WPF
WPF 不像典型的 Win32 应用程序或 WinForms 应用程序那样使用句柄。每个控件在 WPF 中都不是它自己的窗口。您可以使用 Spy++ 验证这一点,它无法区分每个控件。因此,您不能像使用 WinForms 和 Win32 应用程序那样向单个控件发送消息。
您可以使用WindowInteropHelper 获取 WPF 窗口的父窗口句柄。
【讨论】: