繁体   English   中英

跨线程操作无效:控制''从窗口形式创建的线程以外的线程访问

[英]Cross-thread operation not valid: Control '' accessed from a thread other than the thread it was created on in window form

我的窗口表单应用程序中有2个表单

frmDashboadfrmCompany

frmDashboad表单上有一个按钮,单击该按钮我将frmCompany显示为Dialog。

这是我的代码。

private void btnCompany_Click(object sender, EventArgs e)
     {
       new frmCompany().ShowDialog();
     }

我的frmCompany表格。

public partial class frmCompany : SfForm
    {
        public frmCompany()
        {
            InitializeComponent();
        }
    }

现在,当我关闭frmCompany并再次单击按钮再次显示frmCompany对话框时,如果我连续重复此过程5-6次,则抛出异常。

'Cross-thread operation not valid: Control '' accessed from a thread other than the thread it was created on.'

这是完整的堆栈跟踪。

at System.Windows.Forms.Control.get_Handle()
at System.Windows.Forms.Control.get_InternalHandle()
at System.Windows.Forms.Control.DestroyHandle()
at System.Windows.Forms.Control.Dispose(Boolean disposing)
at System.Windows.Forms.Form.Dispose(Boolean disposing)
at System.ComponentModel.Component.Dispose()
at Syncfusion.Windows.Forms.SfToolTip.Dispose(Boolean disposing)
at System.ComponentModel.Component.Dispose()
at Syncfusion.WinForms.Controls.SfForm.Dispose(Boolean disposing)
at InventorySystem.UI.frmCompany.Dispose(Boolean disposing) in D:\Test\Code Sample\inventory-system\InventorySystem\InventorySystem.UI\frmCompany.Designer.cs:line 20
at System.ComponentModel.Component.Finalize()

如果我用Form替换SfForm ,则不会发生异常。

您只需要为FormsfDatagrid设置以下属性false。

  • ShowValidationErrorToolTip

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM