EntryForm:用户信息输入窗口EntryForm entry = new EntryForm();
entry.ShowDialog();有时候在转换输入法或在输入过程会引发异常"未将对象的引用设置到对象的实例",引发常的是"entry.ShowDialog()",怎么在EntryForm内捕获它,而不是采用这种形式:try
{
 EntryForm entry = new EntryForm();
 entry.ShowDialog();
 entry.Dispose();
}
catch
{
 ...
}

解决方案 »

  1.   

    See the end of this message for details on invoking 
    just-in-time (JIT) debugging instead of this dialog box.************** Exception Text **************
    System.NullReferenceException: Object reference not set to an instance of an object.
       at System.Windows.Forms.UnsafeNativeMethods.TranslateMessage(MSG& msg)
       at System.Windows.Forms.ComponentManager.System.Windows.Forms.UnsafeNativeMethods+IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
       at System.Windows.Forms.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       at System.Windows.Forms.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       at System.Windows.Forms.Application.RunDialog(Form form)
       at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
       at System.Windows.Forms.Form.ShowDialog()
       at SUNTORY.MainMenu.ShowEntryWindow()
       at SUNTORY.MainMenu.Entry_Click(Object sender, EventArgs e)
       at System.Windows.Forms.Control.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ButtonBase.WndProc(Message& m)
       at System.Windows.Forms.Button.WndProc(Message& m)
       at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
      

  2.   

    你在EntryForm中做了什么特殊的操作了吗
      

  3.   

    未将对象的引用设置到对象的实例 说明 EntryForm entry = new EntryForm();有问题
    没有正常实例化EntryForm 
    而不是entry.ShowDialog();的错
      

  4.   

    检查你的EntryForm 是否添加的命名空间引用,dll引用
    或者重新打开.net试试看
      

  5.   

    EntryForm 的按鍵處理中有問題~
      

  6.   

    整个系统都能够正常运行,包括EntryForm!只是在有的时候会出现这种情况,它们都有一个共同的特点就是正在使用中文输入法做输入!
      

  7.   

    你在EntryForm中是否重载了什么事件
      

  8.   

    EntryForm是一些TextBox,每个TextBox包含三个事件KeyDown, KeyPress和TextChanged;每个事件的处理代码都放在try.catch中.EntryForm的KeyPreview=true;同样它的事件处理也放在try,catch中.
      

  9.   

    EntryForm未重载任何事件.这个问题困扰我很久了,不明白为何只有在使用中文输入法的时候才会出现这种情况,并且只是偶尔!
      

  10.   

    先把EntryForm的KeyPreview设为false,看看是否能正常运行。