1. 程式人生 > >WPF實現MDI窗體的方法

WPF實現MDI窗體的方法

nth help show sta entry dllimport extern 最大化 添加

原文:WPF實現MDI窗體的方法

第一:新建一個類(Class)

Win32Native.cs

代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WpfApplication1
{
public class Win32Native
{
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SetParent")]
public extern static IntPtr SetParent(IntPtr childPtr, IntPtr parentPtr);
}
}

第二:新建兩個窗體:

Window1.xaml

Window2.xaml

第三:Window1.xaml.cs中添加引用

using System.Windows.Interop;

第四:在Window1窗體中放上一個Button1

其事件如下:


private void button1_Click(object sender, RoutedEventArgs e)
{
Window2 w2 = new Window2();
w2.Show();

WindowInteropHelper parentHelper = new WindowInteropHelper(this);
WindowInteropHelper childHelper = new WindowInteropHelper(w2);

Win32Native.SetParent(childHelper.Handle, parentHelper.Handle);

testMdiWindow.WindowState = WindowState.Maximized;//加上這句可實現窗口加載時最大化,註意語句位置
}

WinForms實現方法較簡單一些,

private void button1_Click(object sender, RoutedEventArgs e)
{
Window2 w2 = new Window2();
w2.MdiParent = this;
w2.Show();


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/dotkit/archive/2009/11/11/4799055.aspx

WPF實現MDI窗體的方法