2010-06-25 4 views
4

VSTO로 작성된 Excel 추가 기능에서 생성되는 양식이 있습니다. 양식이 Excel 스프레드 시트 위에 항상 있어야하지만 여전히 사용자가 그 아래의 시트와 상호 작용할 수 있기를 바랍니다.Excel 이상의 Windows Forms

폼 생성자에는 this.TopLevel = true;이 포함되어 있지만 셀을 선택하면 양식이 스프레드 시트 뒤에서 여전히 사라집니다.

다른 누구도이 문제를 발견하여 해결 방법을 찾았습니까?

답변

4

양식의 TopLevel이 이미 true로 설정되어 있습니다. 당신은 TopMost를 원합니다.

P/Invoke SetParent()가 가장 좋지만 필요로하는 창 핸들을 얻는 것이 그렇게 쉽지 않을 수 있습니다. 어쩌면 Process.GetCurrentProcess(). MainWindowHandle

0

Excel에서 대화 형 양식을 원하면 Hans가 원래 대답에서 말했던 것처럼 일부를 수행해야합니다. 이 링크를 참조하십시오 - on MSDN

이 예제는 refedit 컨트롤 (일반적으로 VBA에서만 사용 가능) 용입니다. 이 예제에서는 IWin32Window에 대한 필요한 정보를 제공하고이 매개 변수 값을 사용하여 양식 객체의 Show 메서드를 호출 할 수 있도록 pinvoking해야합니다.