C#中如何获取MDI的子窗体句柄? 5

如父窗体为Form0,子窗体为Form1,通过FindWindow可以获得Form0的窗体句柄,但我用FindWindowEX却找不到Form1的句柄,请大家积极发言,谢... 如父窗体为Form0,子窗体为Form1,通过FindWindow可以获得Form0的窗体句柄,但我用FindWindowEX却找不到Form1的句柄,请大家积极发言,谢谢! 展开
 我来答
freeeeeewind
2015-08-21 · TA获得超过1万个赞
知道大有可为答主
回答量:3227
采纳率:94%
帮助的人:1348万
展开全部

MDI父窗体属性MdiChildren是已显示MDI子窗体数组。遍历这个数组,可获取所有已显示的子窗体,进而获取各个子窗体的窗口句柄。

【例】Form1是MDI父窗体;Form2、Form3是MDI子窗体。Form1的窗体代码Form1.cs 如下

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            // 设置 Form1 为MDI父窗体
            this.IsMdiContainer = true;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Form2是Form1的MDI子窗体
            Form2 f2 = new Form2();
            f2.MdiParent = this;
            // 显示
            f2.Show();
            
            // Form3是Form1的MDI子窗体
            Form3 f3 = new Form3();
            f3.MdiParent = this;
            // 显示
            f3.Show();
            
            // 遍历MdiChildren数组,获取所有子窗体的
            // 窗体句柄
            foreach(Form f in this.MdiChildren)
            {
                IntPtr h = f.Handle;
                Console.WriteLine(h);
            }
            
            // 获取子窗体Form2的窗体句柄
            foreach(Form f in this.MdiChildren)
            {
                if(f.Name == "Form2")
                {
                    IntPtr h = f.Handle;
                    Console.WriteLine("子窗体Form2的句柄为 {0}", h);
                    break;
                }
            }
        }
    }
}
huiyangzhuang
2013-01-16 · TA获得超过435个赞
知道小有建树答主
回答量:433
采纳率:0%
帮助的人:251万
展开全部
仅供参考:

首先在主程序里找一个类名叫MDIClient的窗体,这个是所有MDI窗体的容器。
然后再以这个句柄为父句柄,找下面的MDI子窗体,可用FindWindowEx
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyer_ren
2015-07-24 · 超过30用户采纳过TA的回答
知道答主
回答量:115
采纳率:0%
帮助的人:52.3万
展开全部
用spy++查询类型跟标题,然后用FindWindowEx找出来就行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式