阅读量:0
在C#中,可以使用Windows Forms或WPF(Windows Presentation Foundation)来创建子窗口并实现动态加载和卸载。这里我将分别为这两种技术提供一个示例。
- Windows Forms示例:
首先,创建一个名为MainForm
的主窗口,然后创建一个名为ChildForm
的子窗口。在MainForm
中添加一个按钮,用于加载和卸载子窗口。
using System; using System.Windows.Forms; namespace DynamicSubWindow { public partial class MainForm : Form { private ChildForm _childForm; public MainForm() { InitializeComponent(); } private void btnLoadUnload_Click(object sender, EventArgs e) { if (_childForm == null) { _childForm = new ChildForm(); _childForm.TopLevel = false; _childForm.Parent = this; _childForm.Visible = true; _childForm.Location = new System.Drawing.Point(50, 50); } else { _childForm.Dispose(); _childForm = null; } } } }
- WPF示例:
首先,创建一个名为MainWindow
的主窗口,然后创建一个名为ChildWindow
的子窗口。在MainWindow
中添加一个按钮,用于加载和卸载子窗口。
using System.Windows; namespace DynamicSubWindowWPF { public partial class MainWindow : Window { private ChildWindow _childWindow; public MainWindow() { InitializeComponent(); } private void btnLoadUnload_Click(object sender, RoutedEventArgs e) { if (_childWindow == null) { _childWindow = new ChildWindow(); _childWindow.Owner = this; _childWindow.Show(); } else { _childWindow.Close(); _childWindow = null; } } } }
在这两个示例中,我们都使用了一个按钮来加载和卸载子窗口。当点击按钮时,如果子窗口不存在,则创建一个新的子窗口并显示它;如果子窗口已经存在,则关闭它并释放资源。这样就实现了子窗口的动态加载和卸载。