可以在form_load事件里把this传给UserControl,然后在usercontrol里调用form的各种方法,不过这种做法不太好,耦合性较高。标准做法是用事件传递

UserControl里加如下代码:

public delegate void FormCloseEventHandler(object sender, EventArgs e);
public event FormCloseEventHandler FormClose;
private void button_quit_Click(object sender, EventArgs e)
{
if (this.FormClose != null)
{
FormClose(this, new EventArgs());
}
}

在Form里添加如下代码: 
form_load事件里:

this.userControl.FormClose += new UserControl.FormCloseEventHandler(this.userControl_FormClose); //不明白为什么是用类方法而非对象方法?

然后用这个方法不好使,还是出现我之前的鬼影问题

        private void userControl_FormClose(object sender, EventArgs e)
{
this.Close();
}

改成用这个方法, 把elementHost1这个对象给销毁掉,这样似乎就好了, 鬼影的问题是在用了第三方的WpfToolkit之中的DataGrid后出现的,如果用.NET4.0里面的DataGrid就没有问题。 虽然麻烦点,但是也算是个收获。

  private void UserControl_FormClose(object sender, EventArgs e)        {            this.elementHost1.Dispose();            this.Close();        }

Winform窗口里的嵌入WPF的UserControl,关闭Winform父窗体的方法相关推荐

  1. 在WinForm应用程序中嵌入WPF控件(转)

      我们知道,在WPF界面上添加WinForm的控件需要使用WindowsFormHost类.而在WinForm界面上添加WPF控件该如何做呢?有没有类似的类呢?明显是有的,ElementHost就是 ...

  2. 利用WPF建立自适应窗口大小布局的WinForm窗口

    编写WinForm程序时,都会碰到一个问题.就是WinForm窗口在不同分辨率下的大小问题.举例说明,你编写的WinForm窗口在1024×768下是合适.匀称的.不过,如果用户的计算机的分辨率为14 ...

  3. wpf中UserControl制作

    上篇文章里面说到UserControl主要是现有控件的组合.组合是好组合啊,我随便拖几个控件往页面里面一放,比如我弄个TextBox和一个button往页面里面一方,起个名字就是UserControl ...

  4. 微信公众嵌套页面里再嵌入其他页面的一些问题

    iframe向父级传递值 我们这的需求就是 要在微信公众嵌套入的h5+页面里在嵌入一个页面 并且那个页面还需要有一些跳转到(打开手机)浏览器的操作 我第一反应就是写一个plus.webview直接嵌入 ...

  5. DotNetty系列六:将服务端和客户端改为Winform窗口,使用Redis做为缓存,实现用户登录,好友,群组上下线显示。

    这次改动挺大的. 1.服务端和客户端改为Winform窗口.好多细节未处理,只是实现了功能.     2.使用Redis做为缓存,版本redis-3.0.1,和RedisDesktopManager做 ...

  6. 如何复制计算机页面,怎么把电脑命令行窗口里的内容复制到剪贴板

    想要把电脑命令行窗口里的内容复制到剪贴板,该如何操作呢,那么怎么把电脑命令行窗口里的内容复制到剪贴板的呢?下面是学习啦小编收集整理的怎么把电脑命令行窗口里的内容复制到剪贴板,希望对大家有帮助~~ 把电 ...

  7. matlab同窗口显示图片,[求助]关于GUI的问题,如何在同一窗口里显示四副图片...........

    [求助]关于GUI的问题,如何在同一窗口里显示四副图片........ 我接到老师给的一个课题,现在遇到了困难.来向大家求助!希望大家能帮小弟一个忙,小弟感激不尽!我以前没接触过MATLAB,可以说是 ...

  8. Google Maps API 进级:在信息窗口GInfoWindow中嵌入Flash动画

    转自:http://hi.baidu.com/xfm_zhr/blog/item/98bd0a2a9a064e3f5243c12b.html 在信息窗口GInfoWindow中嵌入Flash动画 注意 ...

  9. 在Winform中使用MoonPdfLib(Wpf控件)

    在Winform中使用MoonPdfLib(Wpf控件) 引用WindowsFormsIntegration.dll,使用ElementHost类的Child属性关联wpf控件 1.新建winform ...

最新文章

  1. 数据库综合设计java_JAVA程序综合设计数据库设计_
  2. xml解析案例:一个简单的学生管理系统
  3. 10张劲爆眼球的科学动图
  4. [计算机网络] - TCP 重传、滑动窗口、流量控制、拥塞控制
  5. 游戏化设计:平台用户激励系统——互联网平台建设...
  6. 虚拟化平台cloudstack(7)——新版本的调试
  7. JAVA运算的类型兼容原则_Java基础语法回顾(一)
  8. winetricks启动报错:please retest in a clean 32-bit WINEPREFIX before reporting a bug解决
  9. Java面试题总结(二)
  10. 台达EH3系列PLC进行MODBUS RTU通信的具体方法和步骤(非常详细)
  11. 局域网限制网速软件_五款大学生小众有用软件,学长亲荐
  12. 如何培训新进的软件测试人员
  13. windows资源保护无法启动修复服务器,Windows资源保护无法启动修复服务 | MOS86
  14. Outlook邮箱不简单带你重新认识它
  15. linux清除系统垃圾文件
  16. 聊聊支付通道那些事儿——介绍和接入
  17. 华为云服务器部署tomcat+jdk
  18. 洛谷 [P3975 [TJOI2015]弦论
  19. java word替换图片_Java 替换word文档文字并指定位置插入图片
  20. 两年卖超2000万支,80%增长来自用户口碑,口腔护理品牌“贝医生”做了什么?

热门文章

  1. js 判断是不是数字||判断字符串是不是数字(正则表达式)
  2. C#获得网络连接信息 IPGlobalProperties
  3. Django-View中绕过RSCF验证
  4. 开发版速达与总部原版速达的优势
  5. C-二维数组,多维数组
  6. SharePoint 2013 Search 配置总结
  7. 类型初始值设定项引发异常
  8. Qomolangma实现篇(七):Qomo的接口机制
  9. R语言:再谈REmap包
  10. php中的构造函数和析构函数,php 中构造函数和析构函数