2016-08-18 70 views
2

是否有可能使X509Certificate2UI窗口始終位於頂層或以任何其他方式選擇窗口頂部的證書?我正在使用X509Certificate2UI.SelectFromCollection方法C# - 如何使X509Certificate2UI窗口始終位於頂端

+0

如何顯示窗口?如果窗口位於父窗口頂部,那麼您可以使用重載窗口(父窗口占用一個句柄)(https://msdn.microsoft.com/en-us/library/ms223191(v=vs) .110).aspx) –

+0

我使用X509Certificate2UI.SelectFromCollection方法 –

+0

該方法還帶有一個重載,該重載需要父窗口的句柄。你是否在使用超載? –

回答

1

如果您將父窗口的句柄傳遞給顯示窗口的函數,您可以使窗口停留在父窗口頂部,也就是說,您需要使用以下重載的SelectFromCollection方法,其中hwndParent被設定爲開放窗口的句柄:

public static X509Certificate2Collection SelectFromCollection(
    X509Certificate2Collection certificates, 
    string title, 
    string message, 
    X509SelectionFlag selectionFlag, 
    IntPtr hwndParent 
) 

在Windows窗體,你可以簡單地得到從形式的Handle財產手柄:

IntPtr windowHandle = form.Handle; 

如果您使用的是WPF,則需要使用WindowInteropHelper類來檢索句柄:

IntPtr windowHandle = new WindowInteropHelper(Application.Current.MainWindow).Handle; 
相關問題