利用C#实现子窗口的动态加载与卸载

avatar
作者
猴君
阅读量:0

在C#中,可以使用Windows Forms或WPF(Windows Presentation Foundation)来创建子窗口并实现动态加载和卸载。这里我将分别为这两种技术提供一个示例。

  1. 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;             }         }     } } 
  1. 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;             }         }     } } 

在这两个示例中,我们都使用了一个按钮来加载和卸载子窗口。当点击按钮时,如果子窗口不存在,则创建一个新的子窗口并显示它;如果子窗口已经存在,则关闭它并释放资源。这样就实现了子窗口的动态加载和卸载。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!