1
Windows 7でWindowsフォームを使用してVisual Studio 2017で次のエラーが発生する。これは複数のコンピュータで発生します。私はコンボボックスで "フォーム"を選択すると、すべてのラベルの中にある編集ボックスのセットを隠すか目に見えるように設定しています。どうしたら、これらの編集ボックスにテキストを読み込んだり、ホイールのスクロールやフォームのコンボボックスで上下の矢印を押して表示/非表示するラベルを選択すると、最終的にこれらのフォームの編集ボックスが空白になります。編集ボックスに入力すると、メモリエラーが発生します。私は検索し、運がない解決策を探しました。どんな助けでも本当に感謝しています。C#でメモリがゆっくりと私の脳を抹消するエラー
System.AccessViolationException occurred
HResult=0x80004003
Message=Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Source=System.Windows.Forms
StackTrace:
at System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at System.Windows.Forms.NativeWindow.DefWndProc(Message& m)
at System.Windows.Forms.Control.DefWndProc(Message& m)
at System.Windows.Forms.Control.WmKeyChar(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.TextBoxBase.WndProc(Message& m)
at System.Windows.Forms.TextBox.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 Notes.Program.Main() in documents\visual studio 2017\Projects\Notes\Notes\Program.cs:line 19
空白になるエディットボックスをインポートするためのコード。
List<string> ort = imp.Split(new[] { Environment.NewLine }, StringSplitOptions.None).ToList();
//Name regex match
var match = new Regex(@"((?<=:).*(?=\[))");
var name = match.Match(ort[0]);
if (tChoice == 0) { user.Text = String.Empty; user.AppendText(name.Groups[0].ToString()); }
if (tChoice == 1) { pwuser.Text = String.Empty; pwuser.AppendText(name.Groups[0].ToString()); }
if (tChoice == 2)
{
gmmuser.Text = String.Empty; requser.Text = String.Empty; reqAuser.Text = String.Empty; billuser.Text = String.Empty;
gmmuser.AppendText(name.Groups[0].ToString()); requser.AppendText(name.Groups[0].ToString()); reqAuser.AppendText(name.Groups[0].ToString()); billuser.AppendText(name.Groups[0].ToString());
}
if (tChoice == 3) { emailuser.Text = String.Empty; emailuser.AppendText(name.Groups[0].ToString()); }
いくつかのコードを表示できますか?問題を再現するための最小限の例を提供できますか?マウスホイールやイベントハンドラを見てみましょう。 – khargoosh
ハンドラーが動く限り、私はマウスホイールで何もセットアップしていません。私はコードのどの部分がこれを引き起こしているのかも分かりません。それは一般的なエラーのように思えますし、正確な原因を特定する場所がわかりません。 – DasGoat
p/invoke呼び出しを行っていますか?問題が解消するまで、アプリケーションからオブジェクトを削除し始めます。それから少なくともあなたはそれを絞り込んだ。次に、コードを表示します。 – khargoosh