none
Встраивание формы COM-сервера в форму NET-приложения RRS feed

  • Вопрос

  • Здравствуйте. Я новичок в Net. Подскажите, пожалуйста, можно ли встроить форму А, создаваемую в out-of-process COM-сервере в форму В(С#, Windows Forms)? Т.е. чтобы parent-ом формы А стала форма В? Com-сервер возвращает клиенту хэндл создаваемого окна. Заранее спасибо.
    19 июля 2011 г. 12:50

Ответы

  • Здравствуйте

    Попробуйте использовать WinAPI функцию SetParent. Ее импорт:

    [DllImport("user32.dll")]
    private static extern IntPtr SetParent
    (IntPtr child, IntPtr newParent);
    

    И еще нужно подключить пространство имен using System.Runtime.InteropServices;


    Для связи [mail]
    • Помечено в качестве ответа ulcerModerator 29 июля 2011 г. 4:11
    20 июля 2011 г. 8:51

Все ответы

  • Здравствуйте

    Попробуйте использовать WinAPI функцию SetParent. Ее импорт:

    [DllImport("user32.dll")]
    private static extern IntPtr SetParent
    (IntPtr child, IntPtr newParent);
    

    И еще нужно подключить пространство имен using System.Runtime.InteropServices;


    Для связи [mail]
    • Помечено в качестве ответа ulcerModerator 29 июля 2011 г. 4:11
    20 июля 2011 г. 8:51
  • Спасибо! Попробую.
    20 июля 2011 г. 9:30
  • Уважаемый пользователь,

    Вы попробовали? Есть какие-нибудь результаты?

    Если ответ решил проблему - то пометьте его, нажав кнопку 'Пометить как ответ' под сообщением. Если вы сами решили проблему, то будет отлично если опишите ее решение.

    Спасибо.


    Для связи [mail]
    22 июля 2011 г. 6:53
  • Извините, что не сразу ответил  - завал на работе. Огромное Вам спасибо. SetParent - это именно то, что нужно!

    Не могу найти кнопку "Пометить как ответ". Под Вашим сообщением я вижу только кнопки "Ответить" и "Цитировать". Не туда смотрю?

    28 июля 2011 г. 19:56
  • Просто тип топика был сменен с Вопрос на Обсуждение, поэтому кнопок небыло.


    Для связи [mail]
    29 июля 2011 г. 5:10