大李的破程序,他在Application.Run(new Form1());之前应用了Application.EnableVisualStyles();

程序中有个按钮,Click事件的代码为:

Form2 frm2=new Form2();
frm2.ShowDialog();

程序运行时,点击此按钮,出现了一个窗体,然后关闭此窗体,再点击这个按钮,又会出现一个窗体,当关闭这个窗体时系统抛出了一个异常:System.Runtime.InteropServices.SEHException,外部组件引发异常。

在Google查了一下,发现了解决办法:

static void Main() 
{
    Application.EnableVisualStyles();
     new Thread(new ThreadStart(AppRun)).Start();
}

private static void AppRun()
{
   Application.Run(new MainForm());
}

具体的原理作者也不清楚,只是摸索出来这样是可行的。

还有人说这样写

Application.EnableVisualStyles();
Application.DoEvents();
Application.Run(new MainForm());

还有人说在外部的XML里控制程序的样式。

我试了第一种方法,可行。其他两种方法我没有试,等有空试试看。

参考:http://blogs.msdn.com/asanto/archive/2004/08/13/214426.aspx

转载于:https://www.cnblogs.com/lh8287/archive/2005/09/08/232500.html

C#的WinForm程序应用了XP主题样式之后,ShowDialog方法出现问题的解决相关推荐

  1. Android主题样式style背景色(图片),在刘海屏上出现黑条问题

    Android主题样式style背景色(图片),在刘海屏上出现黑条问题 一般Launcher页会设置一个主题样式,配置一个背景图片来解决Activity的xml布局未显示时的一小段白屏或黑屏的时间,然 ...

  2. C# winform程序免安装.net framework在XP/win7/win10环境运行

    前文: 首先感谢群里的大神宇内流云 提供的anyexec for windows版本. 经过本人搭建虚拟机在xp环境 使用anyexec运行winfrom程序后,测试通过,如下是用的xp运行winfr ...

  3. C#软件winform程序安装包制作

    转自:http://jingyan.baidu.com/article/b2c186c8e26f2ac46ef6ff3a.html 使用vs2010 winform程序开发的软件的人比较多,程序的开发 ...

  4. C#软件winform程序安装包制作及卸载程序制作

    使用vs2010 winform程序开发的软件的人比较多,程序的开发是为了在不同的人不同的机器使用,为了使不同的机器能使用该软件就需要在制作程序安装包,安装包里必须包含该软件运行所选的所有环境,下面就 ...

  5. c# winform 程序打包部署

    c# winform 程序打包部署 1 新建一个 c# 安装部署项目 2 在文件系统编辑器里把做好的项目的可执行文件及要用到的其它文件(相关dll及资源文件)添加进来(应用程序文件夹) 3 如果要在程 ...

  6. 使您的应用程序具备 Windows XP 视觉风格

    用户体验改善计划 - 使您的应用程序具备 Windows XP 视觉风格 周融,2006 年 12 月 (C) 2006 保留所有权利. Windows XP 在市场中的份额居高不下,除了有其强大功能 ...

  7. ★ .net应用程序如何表现XP风格?

    使用Aosu易博通,一分钱不花,实现网文自动摘抄, 博客写作方便又快捷,和您现在看到的一样 !自主嵌入Google广告,还能赚取美金! 现在就下载 src="http://aosustudi ...

  8. windows xp主题不见了

    前些天,迷上了WINDOWS XP的主题,想换换口胃,装了个XP主题管理软件.结果没有得到想要的美化效果,将其删除.删除后,重启系统发现windows的外观回到了原始的灰色状态.立马点开显示属性,奇怪 ...

  9. 使用xp主题会造成出错

    昨天碰到一问题,我把在我这边运行不出错的程序发给测试人员测试,结果他那里总是出错,我甚至把所有文件原样全部发给她,就是不行,另外试了几台机器结果都一样.我又把这个程序发给另一个程序员同事试了一下,结果 ...

最新文章

  1. 利用BP神经网络教计算机进行非线函数拟合(代码部分单层)
  2. javascript的数值范围
  3. maven集成tomcat进行web应用测试
  4. 使用DPM 2012 Sp1保护SQL server 2012 Sp1
  5. getLocationOnScreen不起作用原因
  6. BAT技术大牛推荐:看懂英文文档,每天只需要10分钟做这件事……
  7. RHEL5-4的启动流程介绍
  8. 身为“月光族”的电视选择之道
  9. PlaceHolder和Panel的区别【搜藏】
  10. leetcode140. Word Break II
  11. 16.高性能MySQL --- MySQL用户工具
  12. halcon 导出数据集_HALCON中级篇:Blob分析
  13. ios 手游SDK 开发教程
  14. 一个简单的用于预测的BP神经网络模型
  15. 软件工程期末考试试题及答案(详细、经典)
  16. Excel技巧—快速插入空行技巧大集合
  17. 2022年按摩椅行业现状分析
  18. Android FFMPEG音视频开发(一)
  19. 978_使用emacs lisp安装emacs插件
  20. python爬虫抓取,免费高匿快代理 IP

热门文章

  1. 使用vue来开发一个下拉菜单组件(1)
  2. 吴恩达《深度学习》第四门课(4)特殊应用:人脸识别和神经风格迁移
  3. POJ 2433 枚举
  4. 修改配置使fiddler可以查看https请求
  5. 权限管理系统如何分别实现对用户和角色的授权
  6. Smack 3.3.1 发布,Java 的 XMPP 开发包
  7. vue keep-alive缓存页面切换后不触发created等用什么检测页面切换
  8. 【ES6】对象、函数、数组的扩展
  9. Batch Normalization批量归一化
  10. Modularity(模块化-ES6)