繁体   English   中英

如何找到RichTextBox的句柄?

[英]how to find .Handle of RichTextBox?

在winForms中,我具有.Handle属性,如何在WPF中获得与之等效的属性?

我尝试使用WindowInteropHelper,但它不支持RichTextBox ,仅支持Window类型。 提前致谢。

WPF中的控件没有关联的WinAPI句柄,就像WinForms控件一样。 WPF仅使用一个WinAPI窗口来处理来自OS的窗口消息,并将其封装在Window类实例中。 最好的办法是在控件的父控件中导航,直到找到一个Window并获取该句柄为止。 据我了解,这可能与WindowInteropHeler返回的句柄相同。

UPD。 为了使这个答案更有用和开箱即用,这里有一些代码(虽然未测试):

IntPtr hwnd = new WindowInteropHelper(Window.GetWindow(userControlRefernce)).Handle;

RichTextBox在WPF中没有HWND句柄。 如果确实需要此句柄,则仍可以使用WindowsFormsIntegration程序集从WinForms库使用RichTextBox

请记住,您始终可以使用Spy++实用程序检查哪些元素具有或没有句柄。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM