System.Windows.Controls.TextBox 句柄
Posted
技术标签:
【中文标题】System.Windows.Controls.TextBox 句柄【英文标题】:System.Windows.Controls.TextBox Handle 【发布时间】:2011-06-30 14:30:55 【问题描述】:我觉得我在这里遗漏了一些非常明显的东西。
我知道表单通常具有Handle
属性,但我使用的是System.Windows.Controls.TextBox
,它没有Handle
属性。
如何访问TextBox
的句柄?我注意到RichTextBox
有Handle 属性,那么为什么不是常规的TextBox
?
【问题讨论】:
【参考方案1】:你可以在 TextBox 上调用Handle。它是从System.Windows.Forms.Control
继承的属性。
编辑:问题已更新为询问 WPF
WPF 不像典型的 Win32 应用程序或 WinForms 应用程序那样使用句柄。每个控件在 WPF 中都不是它自己的窗口。您可以使用 Spy++ 验证这一点,它无法区分每个控件。因此,您不能像使用 WinForms 和 Win32 应用程序那样向单个控件发送消息。
您可以使用WindowInteropHelper 获取 WPF 窗口的父窗口句柄。
【讨论】:
@Brian 抱歉。我发错了。我已经修复了帖子,现在您可以看到它根本没有继承自 System.Windows.Forms。它是一个 WPF 文本框 @Darkhydro:相应地更新了答案。 @Brian 什么?!那么,如何将本机 Windows 消息传递协议与 WPF 表单一起使用..?如果我拿不到手柄,我就不能使用这些东西。 @Darkhydro:你只需要使用其他类型的进程间通信。 如果有帮助,您还可以在 WPF 应用程序中托管一个 winforms 控件。以上是关于System.Windows.Controls.TextBox 句柄的主要内容,如果未能解决你的问题,请参考以下文章