Tôi muốn tạo bằng cách sử dụng C#
cửa sổ với cha mẹ đã định vị cho tay cầm đã xác định của tôi, đây là một cửa sổ xử lý khác.C# Tạo cửa sổ - Xác định cửa sổ Parent
Bất kỳ ai biết cách thực hiện việc này?
Greetings,
Tôi muốn tạo bằng cách sử dụng C#
cửa sổ với cha mẹ đã định vị cho tay cầm đã xác định của tôi, đây là một cửa sổ xử lý khác.C# Tạo cửa sổ - Xác định cửa sổ Parent
Bất kỳ ai biết cách thực hiện việc này?
Greetings,
Nếu tôi hiểu câu hỏi của bạn một cách chính xác bạn sẽ có thể đạt được những gì bạn muốn bằng cách sử dụng một cái gì đó như thế này:
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));
}
này sẽ biến MainForm
một cửa sổ con của việc ra cửa sổ chỉ định nó luôn xuất hiện phía trên nó. Tôi sử dụng ShowDialog
trong ví dụ này, nhưng điều này cũng sẽ hoạt động cho Show
. Điều này là dành riêng cho Windows Forms.
Trong WPF, bạn có thể thử như sau:
var helper = new WindowInteropHelper(/* your Window instance */);
helper.Owner = // Set with handle for the parent
tôi nhanh chóng cố gắng này sau khi thấy cửa sổ WPF và nó dường như làm việc như mong đợi, nhưng WPF kiến thức mà không phải là tuyệt vời.
Tôi tin rằng Trình xử lý sẽ là chỉ đọc; do đó, thuộc tính .Parent
là chỉ đọc. Tuy nhiên, thuộc tính .Owner
có trình khởi động và trình chuyển đổi (ref. MSDN) ... tuy nhiên, bạn phải có tham chiếu đến cửa sổ Chính.
Nếu không có thêm thông tin, tôi sẽ không thể cung cấp nhiều hơn thế nữa.
Nếu ứng viên gốc của bạn là không được quản lý Cửa sổ, hãy kiểm tra link này.
Ok tôi sẽ thử điều này, nhưng .. điều này là không thể đối với lớp Window? Tôi đã có mã dựa trên Window với XAML. – Svisstack
Tôi giả định Windows Forms, vì vậy điều này sẽ không được áp dụng cho một cửa sổ WPF. –
Tôi đã cập nhật câu trả lời với một giải pháp có thể có trong WPF, nhưng tôi không thực hiện bất kỳ đảm bảo nào ... :) –