3 상태 ToggleButton의 기본 시퀀스가 On, Indeterminate, Off 인 것으로 보입니다.3 상태 ToggleButton에서 상태 시퀀스 변경
이 설정을 On, Off, Indeterminate로 변경하고 싶습니다. 질문 [here]과 비슷합니다.
StateChanging 이벤트를 수정하려고했지만 무한 루프가 발생합니다.
3 상태 ToggleButton의 기본 시퀀스가 On, Indeterminate, Off 인 것으로 보입니다.3 상태 ToggleButton에서 상태 시퀀스 변경
이 설정을 On, Off, Indeterminate로 변경하고 싶습니다. 질문 [here]과 비슷합니다.
StateChanging 이벤트를 수정하려고했지만 무한 루프가 발생합니다.
ToggleStateChanging을 사용하여 상태 순서를 변경 한 다음 전역 변수를 사용하여 무한 루프를 피하는 간단한 솔루션을 구현했습니다. 그러나 ToggleButton에는 각 상태와 MouseHover에서 다르게 음영 처리 된 일종의 자동 테마가있는 새로운 문제가 발생했습니다. 나는 그 테마를 원하지 않았기 때문에 궁극적으로 단추를 표준 단추로 변경했습니다. 이제 ToggleState를 에뮬레이트하기 위해 단추의 Tag 속성을 사용하고 있습니다.
내 특정 솔루션은 Telerik RadButton을 사용하지만 이는 WinForm의 표준 단추에도 적용됩니다.
private void myButton_Click(object sender, EventArgs e)
{
RadButton myButton = (RadButton)sender;
switch (myButton.Tag.ToString())
{
case "Indeterminant":
myButton.Tag = "On";
break;
case "On":
myButton.Tag = "Off";
break;
case "Off":
myButton.Tag = "Indeterminant";
break;
default:
break;
}
}