困扰2年的WinForm异常问题,尚未解决异常信息如下:
中文提示:无效的窗口类名
英文提示:Invalid window class name并非所有机器都出错,是WinXP机器会出现,其他系统不会出现,而且在WinXP机器也不是每次都能出现,各个机器出现的几率不一样,一般出现一次后重新登录系统就正常了。代码如下:
LoginForm lf=new LoginForm();
lf.ShowDialog(); // 在这里容易出现“无效的窗口类名”异常,换lf.Show();也一样

解决方案 »

  1.   

    根据网上搜索,XP样式设置都做过。
    比如:
    *.exe.manifest配置文件

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

  2.   

    to:blestcc 
    异常出现的规律:
    1、部分用户每天早上来开机第一次使用系统登陆,会出现“无效的窗口类名”,关闭程序重新登陆OK
    2、部分用户出现这个异常很不规律
    3、我们自己项目组的、或者测试的同事以前出现过,现在基本没有这样的异常了共同点,都是在WinXP系统才会出现此异常
      

  3.   

    是不是.NetFramwork 平台不统一的问题?我以前遇到过在我的机器上好好的程序到其他人机器上就崩溃的情况,同样都安装了.NetFramwork
      

  4.   

    以下仅为模糊记忆,希望能帮到你:
    LoginForm 是 不建议使用的名称,该名称已被内建窗体占用,虽然你的VS版本可能没有装载此模板,然则,有些环境安装了其他.net环境占用了该名称。比如你在2.0开发的,目标环境却是3.5.同样不建议使用LogonFrom等。
    建议使用frmLogon之类的命名规则。