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 句柄的主要内容,如果未能解决你的问题,请参考以下文章