【发布时间】:2018-02-11 17:23:00
【问题描述】:
我被难住了。
我开始实现我的表单应用程序的一个版本,它接受命令行参数,但开始出现错误。我恢复了我的更改 - 但此异常仍然存在:
项目编译正常,但是当我启动应用程序(调试)时,就在我的主窗体显示之后,应用程序停止并抛出以下异常:
System.ArgumentException 发生 H结果=0x80070057 Message=Value 不在预期范围内。 来源= 堆栈跟踪: 在 Accessibility.IAccessible.get_accChild(Object varChild) 在 System.Windows.Forms.AccessibleObject.Accessibility.IAccessible.get_accChild(对象 childID) 在 System.Windows.Forms.InternalAccessibleObject.System.Windows.Forms.UnsafeNativeMethods.IAccessibleInternal.get_accChild(Object childID)
编辑/仅供参考: 我已将“仅启用我的代码”关闭 关闭 - 这个当它打开时不会发生 on。
我仍然不知何故没有找到有问题的代码。单步执行 Form1() 中的所有内容将返回到 Program.cs 中的调用,其中突然发生异常。
我将设法让我的项目最终以一种或另一种方式运行- 我仍然很想知道问题出在哪里以及问题出在哪里(对我和后代而言)- 任何提示和帮助仍然非常感谢
从那以后,我将应用程序缩减到了最基本的部分,只显示主窗体,没有做任何事情。我仍然收到这个奇怪的信息。
program.cs:
using System;
using System.Windows.Forms;
namespace Move_Stuff
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
Form1.cs:
using System;
using System.Windows.Forms;
namespace Move_Stuff
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show("Fine so far");
}
}
}
所以这些可能不是罪魁祸首。
这是我完整的项目文件夹: https://mega.nz/#!9mQVWLqI!MN1tYS4cQk5-ZolosDvvIme2_Lk9rjSogPhHzrJvPt0
哪里出了问题?
【问题讨论】:
-
我的第一个猜测是它在设计器文件中,即在 InitializeComponent() 中... 把它注释掉怎么样?
-
Form1.Designer.cs?除了
private System.ComponentModel.IContainer components = null;、.Dispose()方法的覆盖和所有控件的声明(如private System.Windows.Forms.Button bClear;)之外什么都没有。我应该注意什么? -
大概是在InitializeComponent()主体内部的开头设置一个断点,然后单步执行直到抛出异常?
-
直到
initializeComponent()之后才抛出异常。.Load()中的消息框在它发生之前显示良好:/ -
好的,没听懂。然后尝试创建一个新项目并将cs文件复制到其中。也许是项目设置中的东西......
标签: c# .net winforms visual-studio