トップ回答者
DataGridViewで例外発生、、、バグ?

質問
-
DataGridViewにて予期しない例外が発生したため困っています。
何か情報をお持ちでしたら教えていただきたく書き込ませていただきます。
①列が複数ある、グリッドを作成する。 (※COL1~COL10を作成したとします。)
②いずれかの列をグリッド幅より大きくする。 (※COL10をグリッド幅以上にしたとします。)
③幅を広げたセル、もしくはそれより左のセルを選択する。
④そのままドラッグして幅を広げたセルの右側のセルを選択する。
この、④の時点で例外が発生します。
スタックトレースは以下の通りです。
情報よろしくお願いいたします。
---------------------------------------------------------------------------------------------------------------------------------------
場所 System.Collections.ArrayList.get_Item(Int32 index)
場所 System.Windows.Forms.DataGridViewColumnCollection.get_Item(Int32 index)
場所 System.Windows.Forms.DataGridView.GetOutOfBoundCorrectedHitTestInfo(HitTestInfo& hti, Int32& mouseX, Int32& mouseY, Int32& xOffset, Int32& yOffset)
場所 System.Windows.Forms.DataGridView.HorizScrollTimerHandler()
場所 System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
場所 System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
場所 System.Threading.ExecutionContext.runTryCode(Object userData)
場所 System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
場所 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
場所 System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
場所 System.Windows.Forms.Control.InvokeMarshaledCallbacks()
場所 System.Windows.Forms.Control.WndProc(Message& m)
場所 System.Windows.Forms.DataGridView.WndProc(Message& m)
場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
場所 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
場所 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
場所 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
場所 System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
場所 System.Windows.Forms.Form.ShowDialog()
回答
-
私の環境でも発生しました。
フィードバックに報告したほうが良さそうですね。
Microsoft Visual Studio 2005 Standard Edition 日本語 Service Pack 1 (KB926602)
Version 8.0.50727.762 (SP.050727-7600)
Microsoft .NET Framework
Version 2.0.50727
System.ArgumentOutOfRangeException はハンドルされませんでした。
Message="インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。\r\nパラメータ名: index"
Source="mscorlib"
ParamName="index"
StackTrace:同じため省略
すべての返信
-
私の環境でも発生しました。
フィードバックに報告したほうが良さそうですね。
Microsoft Visual Studio 2005 Standard Edition 日本語 Service Pack 1 (KB926602)
Version 8.0.50727.762 (SP.050727-7600)
Microsoft .NET Framework
Version 2.0.50727
System.ArgumentOutOfRangeException はハンドルされませんでした。
Message="インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。\r\nパラメータ名: index"
Source="mscorlib"
ParamName="index"
StackTrace:同じため省略
-
>中博俊様
中博俊 さんからの引用 こういうときはスタックトレースだけじゃなく、例外の種類、メッセージなども載せましょう。
中博俊 さんからの引用 ちなみに、環境、Visual Studioなどのバージョンなども記載してください。
確かにおっしゃられる通りです。
申し訳ないです。
開発環境は、ダッチ様と同じです。
>ダッチ様
ダッチ さんからの引用 私の環境でも発生しました。
Microsoft Visual Studio 2005 Standard Edition 日本語 Service Pack 1 (KB926602)
Version 8.0.50727.762 (SP.050727-7600)
Microsoft .NET Framework
Version 2.0.50727System.ArgumentOutOfRangeException はハンドルされませんでした。
Message="インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。\r\nパラメータ名: index"
Source="mscorlib"
ParamName="index"
StackTrace:同じため省略
フィードバックに報告したほうが良さそうですね。
Visual Studio フィードバックに報告させていただきました。
ご意見ありがとうございました。