TextChanged 이벤트가 선언적으로 설정된 TextBox가 있습니다. 어떤 경우에는 프로그래밍 방식으로이 값을 설정해야합니다. 이 경우 프로그래밍 방식으로 값을 설정할 때까지 TextChanged 이벤트를 비활성화하려고합니다. 그런 다음, 끝나면 이벤트 핸들러를 원래 상태로 복원하려고합니다. 하나의 텍스트 상자를 들어 C# + 프로그래밍 방식으로 이벤트 처리기로 작업하기
, 나는 내가 다음을 수행하여이 작업을 수행 할 수 있습니다 알고myTextBox.TextChanged -= myTextBox_TextChanged;
myTextBox.Text = "[Some Value]";
myTextBox.TextChanged += myTextBox_TextChanged;
는 그러나, 나는 여러 가지 방법으로 액세스 할 수있는 하나의 방법으로이 기능을 쓰고 싶어요. 예를 들어, 다음과 같이하려고합니다.
private void UpdateTextValue(TextBox textBox, string newValue)
{
object eventHandler = textBox.TextChanged;
textBox.TextChanged -= eventHandler;
textBox.Text = newValue;
textBox.TextChanged += eventHandler;
}
불행히도이 방법은 효과가 없습니다. 그것은 심지어 컴파일되지 않습니다. 위에 표시된 것과 같은 메소드에서 수행하려고하는 기능을 캡슐화 할 수있는 방법이 있습니까? 그렇다면 어떻게?
고마워요,