当前位置: 首页 > 面试题库 >

Windows窗体应用程序异常

郎曾笑
2023-03-14
问题内容

我收到应用程序异常

   at System.Windows.Forms.CurrencyManager.get_Item(Int32 index)
   at System.Windows.Forms.CurrencyManager.get_Current()
   at System.Windows.Forms.DataGridView.DataGridViewDataConnection.OnRowEnter(DataGridViewCellEventArgs e)
   at System.Windows.Forms.DataGridView.OnRowEnter(DataGridViewCell& dataGridViewCell, Int32 columnIndex, Int32 rowIndex, Boolean canCreateNewRow, Boolean validationFailureOccurred)
   at System.Windows.Forms.DataGridView.SetCurrentCellAddressCore(Int32 columnIndex, Int32 rowIndex, Boolean setAnchorCellAddress, Boolean validateCurrentCell, Boolean throughMouseClick)
   at System.Windows.Forms.DataGridView.OnCellMouseDown(HitTestInfo hti, Boolean isShiftDown, Boolean isControlDown)
   at System.Windows.Forms.DataGridView.OnCellMouseDown(DataGridViewCellMouseEventArgs e)
   at System.Windows.Forms.DataGridView.OnMouseDown(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.DataGridView.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.Run(Form mainForm)
   at MedForms.Program.Main() in F:\Projects\Vstu\MedForms\MedForms\Program.cs:line 18
   at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

每次当我尝试单击DataGridView时。

我收到错误消息

{“索引-1没有值。”}(SystemIndexOutOfaRange异常)。

在行上

Application.Run(new MainForm());

而且我无法调试它。请帮助我找出导致此问题的原因以及如何对其进行调试?


问题答案:

我猜想您已经将一个最初为空的List(或其他不生成列表已更改事件的集合)绑定到了您的DataGridView,然后将项目添加到了此List中。

您添加的项目将正确 显示
在网格上,但是单击一行将导致此异常。这是因为底层证券CurrencyManager将报告其当前行位置为-1的偏移量。因为列表不会向网格报告更改,所以它将保持这种方式。

仅当列表中包含某些项目时才应将其绑定到网格,或者在添加它们时将其重新绑定。



 类似资料:
  • 我正在尝试用一个windows窗体应用程序在C语言上创建一个新的proyect,但是Visual Studio2019没有显示appropiate模板。我已经安装了以下软件包:

  • 我发现围绕这个主题有很多问题,但没有一个回答我的问题。我有一个聊天应用程序,要求我在收到消息但尚未看到时更改任务栏中的应用程序图标,并在看到所有消息时再次更改它。 在从VS2013开始运行应用程序时,我成功地做到了这一点,使用显示的表单中的以下代码:

  • 使用.NET Core和最新的Visual Studio 2019 Community Edition更新创建新的Windows桌面窗体应用程序时,无法查看窗体的设计视图,即Form1.cs[design]。当我单击适当标记的Form1.cs文件时,它只打开代码视图。

  • 我用Visual Studio制作了一个使用Windows窗体应用程序C++/CLI的小型图书馆管理系统。为了处理学生和书籍的数据库,我正在使用MySQL连接来连接到我计算机上的本地数据库,使用: 下面是我正在使用的名称空间: 现在我需要做一些事情,这样我就可以从一台不同的计算机连接到我给定的数据库。我试着搜索了一些方法,但有些方法需要在两台计算机上都安装MySQL,有些方法需要使用一些我不知道的

  • 我才刚开始使用Java FX,一辈子也搞不清楚为什么这个异常会不断出现。 我有两节课。一个叫主,另一个叫玩家。下面是他们每个人的样子.... 如果有人能告诉我如何解决这个问题,我将不胜感激。否则我真的不能推进这个项目。谢谢!

  • 我的EmployeeDB类 使用系统;使用System.Collections.Generic;使用System.LINQ;使用System.Text;使用System.Data.SQLClient;使用System.Data; 命名空间测试{公共类employeeedb{私有字符串连接字符串; 然后构建类库,并将引用添加到windows窗体项目中。