我有一個datagridview。這個datagridview包含海關datagridviewcolumns和其他類似datagridviewtextboxcolumns。第三方控制託管在每個單元格中。因此,在設計datagridview時,在自定義單元格上,除非您處於單元格的編輯模式,否則無法顯示內容。因此,爲了實現單元格內容顯示,我已經重寫了繪畫方法,以便在不處於編輯模式時繪製單元格。在細胞中被繪製的圖像在塗料方法獲得和我使用塊,如:C#WinForms:無法訪問處理對象
using (Bitmap bitmap = new Bitmap())
{
...
}
另外,主機在窗口控制窗體DataGridView單元,I有一個實現IDataGridViewEditingControl的類。
public class a : third-party-component, IDataGridViewEditingControl
{
}
在應用程序的某個點,它崩潰,說不能訪問一個處置對象。 在代碼中我沒有做任何處理任何對象,所以我不明白這一點。
從堆棧看起來好像在上面的類中提出的錯誤,但它並沒有明確指出在哪裏。
我相信這是由windows窗體datagridview單元託管的控件造成的。任何想法可能是什麼問題?
或者它可能與datagridviewtextboxcolumns有關?以下錯誤:
Cannot access a disposed object.
Object name: 'DataGridViewTextBoxEditingControl'.
Stack Trace:
at System.Windows.Forms.Control.CreateHandle()
at System.Windows.Forms.TextBoxBase.CreateHandle()
at System.Windows.Forms.Control.get_Handle()
at System.Windows.Forms.Control.GetSafeHandle(IWin32Window window)
at System.Windows.Forms.ToolTip.Hide(IWin32Window win)
at System.Windows.Forms.ToolTip.HideAllToolTips()
at System.Windows.Forms.ToolTip.BaseFormDeactivate(Object sender, EventArgs e)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnDeactivate(EventArgs e)
at Crownwood.DotNetMagic.Forms.WindowChrome.OnDeactivate(EventArgs e)
at System.Windows.Forms.Form.set_Active(Boolean value)
at System.Windows.Forms.Form.WmActivate(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at Crownwood.DotNetMagic.Forms.WindowChrome.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.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)