Нужен IntPtr для формы (VB.Net)
Вопрос
Мне нужен intPtr для формы.Control.FromHandle(control) дает мне управление из дескриптора, но мне нужно обратное — получить дескриптор из элемента управления.Как мне это сделать?
Решение
Пытаться
Dim handle As IntPtr = someControl.Handle
Примечание:Это будет работать только после создания дескриптора для элемента управления.Между созданием элемента управления и его отрисовкой в некоторой степени существует промежуток времени, когда это может вернуть IntPtr.Zero
Другие советы
Примечание. Это будет работать только после создания дескриптора для элемента управления. Существует промежуток времени между созданием элемента управления и его визуализацией до некоторой степени, когда это может вернуть IntPtr.Zero
Я должен не согласиться с JaredPar по этому вопросу: метод доступа get свойства Handle вызывает CreateHandle, если дескриптор еще не создан (вы можете проверить это с помощью Reflector). Важно знать об этом, потому что в некоторых случаях это может привести к неожиданным последствиям