C#
定義したハンドルに親が設定されたウィンドウを使用して作成したいのですが、これは別のプロセスウィンドウハンドルです。
誰もがこれを行う方法を知っていますか?
ご挨拶、
C#
定義したハンドルに親が設定されたウィンドウを使用して作成したいのですが、これは別のプロセスウィンドウハンドルです。
誰もがこれを行う方法を知っていますか?
ご挨拶、
私があなたの質問を正しく理解していれば、次のようなものを使用して、あなたが望むものを達成できるはずです:
class Win32Window : IWin32Window
{
IntPtr handle;
public Win32Window(IntPtr handle) { this.handle = handle; }
public IntPtr Handle
{
get { return this.handle; }
}
}
static void Main()
{
IntPtr targetParent = // Get handle to the parent window
new MainForm().ShowDialog(new Win32Window(targetParent));
}
これMainForm
により、指定されたウィンドウの子ウィンドウが常にその上に表示されるようになります。例で使用ShowDialog
していますが、これはShow
. これは、Windows フォームに固有です。
WPF では、次のことを試すことができます。
var helper = new WindowInteropHelper(/* your Window instance */);
helper.Owner = // Set with handle for the parent
WPF ウィンドウを表示した後、すぐにこれを試してみましたが、期待どおりに動作するように見えましたが、WPF の知識はそれほど大きくありません。