크로스 스레드 작업을 처리하는 적절한 방법입니까?크로스 스레드 UI 구성 요소 호출
"EditValue"를 재정의하는 대신 "EditValueThreadSafe"와 같은 새 속성 이름을 사용해야합니까? EditValue 구현에 대한 변경 사항에 문제가 있다고 생각하지 않습니다. 기본 속성은 관계없이 호출됩니다.
namespace MyApplication.Components
{
using System.Windows.Forms;
/// <summary>
/// Thread-safe implementation of the DevExpress.XtraEditors.ComboBoxEdit class.
/// </summary>
public class ComboBoxEditThreadSafe : DevExpress.XtraEditors.ComboBoxEdit
{
/// <summary>
/// Gets or sets the edit value.
/// </summary>
/// <value>The edit value.</value>
public override object EditValue
{
get
{
return base.EditValue;
}
set
{
if (this.InvokeRequired)
{
this.Invoke(new MethodInvoker(delegate
{
this.SetEditValue(value);
}));
}
else
{
this.SetEditValue(value);
}
}
}
/// <summary>
/// Sets the edit value.
/// </summary>
/// <param name="value">The value.</param>
private void SetEditValue(object value)
{
base.EditValue = value;
}
}
}
무슨 뜻인지 이해가 안됩니다. – Armbrat
아래 내 대답을 참조하십시오. – M1EK
죄송합니다. 잠시 시간을내어 귀하의 재산과 일치하는 코드 스 니펫을 만들었습니다. –