![](/img/trans.png)
[英]“Cross-thread operation is not valid” exception when trying to get value of comboBox
[英]“Cross-thread operation is not valid” exception when trying to get value of comboBox in Backgroundworker
嘗試在Backgroundworker的IF語句中獲取組合框的值時遇到一些問題。 當我嘗試運行此代碼
if (KondisiSaldo.SelectedItem == "Kurang dari...")
{
view.RowFilter = string.Format("[Saldo] < '{0}'", thresholdcas);
view2.RowFilter = string.Format("[Saldo] > '{0}'", thresholdcas);
this.Invoke(new MethodInvoker(delegate
{
ViewDataSaldoGV.DataSource = view;
SaldoUnscheduleGV.DataSource = view2;
}));
}
錯誤說
跨線程操作無效:控件“ KondisiSaldo”從創建該線程的線程之外的其他線程訪問。
誰能幫我 ?
您正在非GUI線程中訪問KondisiSaldo
。 將KondisiSaldo
放入Invoke塊中,以使用view
和view2
控件在GUI線程上對其進行訪問。
this.Invoke(new MethodInvoker(delegate
{
if (KondisiSaldo.SelectedItem == "Kurang dari...")
{
view.RowFilter = string.Format("[Saldo] < '{0}'", thresholdcas);
view2.RowFilter = string.Format("[Saldo] > '{0}'", thresholdcas);
ViewDataSaldoGV.DataSource = view;
SaldoUnscheduleGV.DataSource = view2;
}
}));
您可能需要調整條件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.