Вопрос

Мне нужен intPtr для формы.Control.FromHandle(control) дает мне управление из дескриптора, но мне нужно обратное — получить дескриптор из элемента управления.Как мне это сделать?

Это было полезно?

Решение

Пытаться

Dim handle As IntPtr = someControl.Handle

Примечание:Это будет работать только после создания дескриптора для элемента управления.Между созданием элемента управления и его отрисовкой в ​​некоторой степени существует промежуток времени, когда это может вернуть IntPtr.Zero

Другие советы

  

Примечание. Это будет работать только после создания дескриптора для элемента управления. Существует промежуток времени между созданием элемента управления и его визуализацией до некоторой степени, когда это может вернуть IntPtr.Zero

Я должен не согласиться с JaredPar по этому вопросу: метод доступа get свойства Handle вызывает CreateHandle, если дескриптор еще не создан (вы можете проверить это с помощью Reflector). Важно знать об этом, потому что в некоторых случаях это может привести к неожиданным последствиям

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top