From 22849166e844a20157f868ff45e7c4ae95b8cec3 Mon Sep 17 00:00:00 2001 From: "Leaf Shi (BEYONDSOFT CONSULTING INC)" Date: Thu, 25 Jun 2026 16:51:41 +0800 Subject: [PATCH 1/4] Fix CheckBox and RadioButton UIA notifications --- src/System.Windows.Forms/Resources/SR.resx | 73 +++++++++++-------- .../Resources/xlf/SR.cs.xlf | 29 +++++++- .../Resources/xlf/SR.de.xlf | 29 +++++++- .../Resources/xlf/SR.es.xlf | 29 +++++++- .../Resources/xlf/SR.fr.xlf | 29 +++++++- .../Resources/xlf/SR.it.xlf | 29 +++++++- .../Resources/xlf/SR.ja.xlf | 29 +++++++- .../Resources/xlf/SR.ko.xlf | 29 +++++++- .../Resources/xlf/SR.pl.xlf | 29 +++++++- .../Resources/xlf/SR.pt-BR.xlf | 29 +++++++- .../Resources/xlf/SR.ru.xlf | 29 +++++++- .../Resources/xlf/SR.tr.xlf | 29 +++++++- .../Resources/xlf/SR.zh-Hans.xlf | 29 +++++++- .../Resources/xlf/SR.zh-Hant.xlf | 29 +++++++- .../Forms/Controls/Buttons/CheckBox.cs | 20 +++-- .../Forms/Controls/Buttons/RadioButton.cs | 23 ++++-- .../System/Windows/Forms/CheckBoxTests.cs | 28 +++++-- .../System/Windows/Forms/RadioButtonTests.cs | 41 ++++++++++- 18 files changed, 488 insertions(+), 74 deletions(-) diff --git a/src/System.Windows.Forms/Resources/SR.resx b/src/System.Windows.Forms/Resources/SR.resx index 53d5073b748..eccaff29099 100644 --- a/src/System.Windows.Forms/Resources/SR.resx +++ b/src/System.Windows.Forms/Resources/SR.resx @@ -1,17 +1,17 @@  - @@ -606,6 +606,21 @@ Occurs whenever the CheckState property is changed. + + checked + + + not checked + + + indeterminate + + + checked + + + pressed + Indicates whether the CheckBox will allow three check states rather than two. @@ -2908,7 +2923,7 @@ debugging. See the end of this message for details. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. @@ -7045,4 +7060,4 @@ Stack trace where the illegal operation occurred was: The FormScreenCaptureMode property can only be changed on top-level Forms with their TopLevel property set to true. - \ No newline at end of file + diff --git a/src/System.Windows.Forms/Resources/xlf/SR.cs.xlf b/src/System.Windows.Forms/Resources/xlf/SR.cs.xlf index ce2bc9260f9..a3b5bcf13c8 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.cs.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.cs.xlf @@ -907,6 +907,16 @@ Určuje, zda je součást v zaškrtnutém stavu. + + checked + checked + + + + indeterminate + indeterminate + + Event raised when the value of the Appearance property is changed on CheckBox. Událost aktivovaná při změně hodnoty vlastnosti Appearance prvku CheckBox @@ -927,6 +937,11 @@ Určuje, zda prvek CheckBox umožňuje tři stavy zaškrtnutí místo dvou. + + not checked + not checked + + Indicates if the check box should be toggled with the first click on an item. Určuje, zda by po prvním kliknutí na položku mělo být zaškrtávací políčko přepnuto. @@ -4898,10 +4913,10 @@ Ladění není podporováno. Další informace jsou uvedeny na konci této zprá - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - Informace o vyvolání ladění JIT najdete na konci této zprávy, + Informace o vyvolání ladění JIT najdete na konci této zprávy, nikoli v tomto dialogovém okně. @@ -8694,6 +8709,11 @@ Trasování zásobníku, kde došlo k neplatné operaci: Určuje, zda přepínač je nebo není vybrán. + + checked + checked + + Event raised when the value of the Appearance property is changed on RadioButton. Událost aktivovaná při změně hodnoty vlastnosti Appearance ovládacího prvku RadioButton @@ -8714,6 +8734,11 @@ Trasování zásobníku, kde došlo k neplatné operaci: Vyvolá se při změně hodnoty vlastnosti TextAlign. + + pressed + pressed + + Collection is read only. Kolekce je jen pro čtení. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.de.xlf b/src/System.Windows.Forms/Resources/xlf/SR.de.xlf index b5cf47b1170..99a3b7be87d 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.de.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.de.xlf @@ -907,6 +907,16 @@ Gibt an, ob sich die Komponente im aktivierten Zustand befindet. + + checked + checked + + + + indeterminate + indeterminate + + Event raised when the value of the Appearance property is changed on CheckBox. Das ausgelöste Ereignis, wenn der Wert der Appearance-Eigenschaft für CheckBox geändert wird. @@ -927,6 +937,11 @@ Gibt an, ob CheckBox drei statt zwei aktivierte Zustände zulässt. + + not checked + not checked + + Indicates if the check box should be toggled with the first click on an item. Gibt an, ob der Aktivierungszustand des Kontrollkästchens mit dem ersten Klicken auf ein Element gewechselt wird. @@ -4898,10 +4913,10 @@ debugging. See the end of this message for details. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - Weitere Informationen zum Aufrufen des + Weitere Informationen zum Aufrufen des JIT-Debuggens finden Sie am Ende dieser Nachricht, anstelle dieses Dialogfelds. @@ -8694,6 +8709,11 @@ Stapelüberwachung, in der der unzulässige Vorgang auftrat: Zeigt an, ob das Optionsfeld markiert ist oder nicht. + + checked + checked + + Event raised when the value of the Appearance property is changed on RadioButton. Das ausgelöste Ereignis, wenn der Wert der Appearance-Eigenschaft für RadioButton geändert wird. @@ -8714,6 +8734,11 @@ Stapelüberwachung, in der der unzulässige Vorgang auftrat: Tritt auf, wenn sich der Wert der TextAlign-Eigenschaft ändert. + + pressed + pressed + + Collection is read only. Die Sammlung ist schreibgeschützt. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.es.xlf b/src/System.Windows.Forms/Resources/xlf/SR.es.xlf index 82eb0cd40bb..3549052d985 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.es.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.es.xlf @@ -907,6 +907,16 @@ Indica si el componente se encuentra en el estado de activación. + + checked + checked + + + + indeterminate + indeterminate + + Event raised when the value of the Appearance property is changed on CheckBox. Evento que se desencadena cuando se cambia el valor de la propiedad Appearance de CheckBox. @@ -927,6 +937,11 @@ Indica si CheckBox permitirá tres estados de activación en lugar de dos. + + not checked + not checked + + Indicates if the check box should be toggled with the first click on an item. Indica si la casilla debe cambiar su estado al hacer clic por primera vez en un elemento. @@ -4898,10 +4913,10 @@ depuración. Consulte el final de este mensaje para obtener más información. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - Consulte el final de este mensaje para obtener más detalles sobre cómo invocar a la depuración + Consulte el final de este mensaje para obtener más detalles sobre cómo invocar a la depuración Just-In-Time (JIT) en lugar de a este cuadro de diálogo. @@ -8694,6 +8709,11 @@ El seguimiento de la pila donde tuvo lugar la operación no válida fue: Indica si el botón de radio está activado o no. + + checked + checked + + Event raised when the value of the Appearance property is changed on RadioButton. Evento que se desencadena cuando se cambia el valor de la propiedad Appearance de RadioButton. @@ -8714,6 +8734,11 @@ El seguimiento de la pila donde tuvo lugar la operación no válida fue: Tiene lugar cuando el valor de la propiedad TextAlign cambia + + pressed + pressed + + Collection is read only. La colección es de solo lectura. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.fr.xlf b/src/System.Windows.Forms/Resources/xlf/SR.fr.xlf index f02c36b8e65..a7e3e52e541 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.fr.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.fr.xlf @@ -907,6 +907,16 @@ Indique si le composant a un état activé. + + checked + checked + + + + indeterminate + indeterminate + + Event raised when the value of the Appearance property is changed on CheckBox. Événement déclenché lorsque la valeur de la propriété Appearance du CheckBox est modifiée. @@ -927,6 +937,11 @@ Indique si CheckBox autorise trois états d'activation plutôt que deux. + + not checked + not checked + + Indicates if the check box should be toggled with the first click on an item. Indique si la case à cocher doit être activée ou désactivée lors du premier clic sur un élément. @@ -4898,10 +4913,10 @@ juste-à-temps (JIT). Consultez la fin de ce message pour plus de détails. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - Consultez la fin de ce message pour plus de détails sur l'appel du débogage + Consultez la fin de ce message pour plus de détails sur l'appel du débogage juste-à-temps (JIT) à la place de cette boîte de dialogue. @@ -8694,6 +8709,11 @@ Cette opération non conforme s'est produite sur la trace de la pile : Indique si la case d'option est activée ou non. + + checked + checked + + Event raised when the value of the Appearance property is changed on RadioButton. Événement déclenché lorsque la valeur de la propriété Appearance du RadioButton est modifiée. @@ -8714,6 +8734,11 @@ Cette opération non conforme s'est produite sur la trace de la pile : Se produit lorsque la valeur de la propriété TextAlign change + + pressed + pressed + + Collection is read only. La collection est en lecture seule. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.it.xlf b/src/System.Windows.Forms/Resources/xlf/SR.it.xlf index fc9f709a0be..1ced1c14536 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.it.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.it.xlf @@ -907,6 +907,16 @@ Indica se il componente è selezionato. + + checked + checked + + + + indeterminate + indeterminate + + Event raised when the value of the Appearance property is changed on CheckBox. Evento generato quando il valore della proprietà Appearance di CheckBox viene modificato @@ -927,6 +937,11 @@ Indica se per il controllo CheckBox saranno disponibili tre stati di selezione anziché due. + + not checked + not checked + + Indicates if the check box should be toggled with the first click on an item. Indica se lo stato della casella di controllo deve essere modificato la prima volta che si fa clic su una voce. @@ -4898,10 +4913,10 @@ di Windows Forms. Per i dettagli, vedi la fine di questo messaggio. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - Vedi la fine di questo messaggio per i dettagli sul richiamo del + Vedi la fine di questo messaggio per i dettagli sul richiamo del debug JIT (just-in-time) invece di questa finestra di dialogo. @@ -8694,6 +8709,11 @@ Analisi dello stack dove si è verificata l'operazione non valida: Indica se il pulsante di opzione è selezionato. + + checked + checked + + Event raised when the value of the Appearance property is changed on RadioButton. Evento generato quando il valore della proprietà Appearance di RadioButton viene modificato. @@ -8714,6 +8734,11 @@ Analisi dello stack dove si è verificata l'operazione non valida: Generato quando il valore della proprietà TextAlign cambia + + pressed + pressed + + Collection is read only. Raccolta in sola lettura. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.ja.xlf b/src/System.Windows.Forms/Resources/xlf/SR.ja.xlf index 4511ba6cf76..403c27729d3 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.ja.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.ja.xlf @@ -907,6 +907,16 @@ コンポーネントがチェックされた状態かどうかを示します。 + + checked + checked + + + + indeterminate + indeterminate + + Event raised when the value of the Appearance property is changed on CheckBox. Appearance プロパティの値が、CheckBox で変更されたときに発生するイベントです。 @@ -927,6 +937,11 @@ CheckBox が 2 つではなく 3 つのチェックされた状態を許可するかどうかを示します。 + + not checked + not checked + + Indicates if the check box should be toggled with the first click on an item. アイテムを最初にクリックしたときに、チェック ボックスを切り替えるかどうかを示します。 @@ -4898,10 +4913,10 @@ debugging. See the end of this message for details. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - このダイアログ ボックスの代わりに Just-In-Time (JIT) デバッグを呼び出すための詳細については、 + このダイアログ ボックスの代わりに Just-In-Time (JIT) デバッグを呼び出すための詳細については、 このメッセージの最後を参照してください。 @@ -8694,6 +8709,11 @@ Stack trace where the illegal operation occurred was: オプション ボタンがオンなっているかどうかを示します。 + + checked + checked + + Event raised when the value of the Appearance property is changed on RadioButton. Appearance プロパティの値が、RadioButton で変更されたときに発生するイベントです。 @@ -8714,6 +8734,11 @@ Stack trace where the illegal operation occurred was: TextAlign プロパティの値が変更するときに発生します。 + + pressed + pressed + + Collection is read only. このコレクションは読み取り専用です。 diff --git a/src/System.Windows.Forms/Resources/xlf/SR.ko.xlf b/src/System.Windows.Forms/Resources/xlf/SR.ko.xlf index 2924f72aab7..e4d73c81408 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.ko.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.ko.xlf @@ -907,6 +907,16 @@ 구성 요소가 선택된 상태인지 여부를 나타냅니다. + + checked + checked + + + + indeterminate + indeterminate + + Event raised when the value of the Appearance property is changed on CheckBox. Appearance 속성 값이 CheckBox에서 변경되면 이벤트가 발생합니다. @@ -927,6 +937,11 @@ CheckBox에 두 가지가 아닌 세 가지 선택 상태를 사용할 수 있는지 여부를 나타냅니다. + + not checked + not checked + + Indicates if the check box should be toggled with the first click on an item. 항목을 처음 클릭할 때 확인란이 설정/해제되는지 여부를 나타냅니다. @@ -4898,10 +4913,10 @@ debugging. See the end of this message for details. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - 이 대화 상자 대신 JIT(Just-in-time) 디버깅을 호출하는 + 이 대화 상자 대신 JIT(Just-in-time) 디버깅을 호출하는 방법에 대한 자세한 내용은 이 메시지의 뒷부분을 참조하십시오. @@ -8694,6 +8709,11 @@ Stack trace where the illegal operation occurred was: 라디오 단추의 선택 상태를 나타냅니다. + + checked + checked + + Event raised when the value of the Appearance property is changed on RadioButton. Appearance 속성 값이 RadioButton에서 변경되면 이벤트가 발생합니다. @@ -8714,6 +8734,11 @@ Stack trace where the illegal operation occurred was: TextAlign 속성 값이 변경될 때 발생합니다. + + pressed + pressed + + Collection is read only. 컬렉션이 읽기 전용입니다. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.pl.xlf b/src/System.Windows.Forms/Resources/xlf/SR.pl.xlf index f86297cb7f6..3dc843b98cf 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.pl.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.pl.xlf @@ -907,6 +907,16 @@ Określa, czy składnik jest zaznaczony. + + checked + checked + + + + indeterminate + indeterminate + + Event raised when the value of the Appearance property is changed on CheckBox. Zdarzenie wywoływane, gdy zmieni się wartość właściwości Appearance elementu CheckBox @@ -927,6 +937,11 @@ Wskazuje, czy parametr CheckBox zezwala na trzy, a nie dwa stany zaznaczenia. + + not checked + not checked + + Indicates if the check box should be toggled with the first click on an item. Określa, czy pole wyboru powinno być przełączane pierwszym kliknięciem elementu. @@ -4898,10 +4913,10 @@ debugging. Zobacz koniec tej wiadomości, aby uzyskać szczegółowe informacje. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - Szczegółowe informacje na temat wywoływania debugowania w trybie JIT (just in time) + Szczegółowe informacje na temat wywoływania debugowania w trybie JIT (just in time) zamiast tego okna dialogowego znajdują się na końcu tego komunikatu. @@ -8694,6 +8709,11 @@ Stos śledzenia, w którym wystąpiła zabroniona operacja: Wskazuje, czy przycisk radiowy jest zaznaczony, czy nie. + + checked + checked + + Event raised when the value of the Appearance property is changed on RadioButton. Zdarzenie wywoływane, gdy wartość właściwości Appearance elementu RadioButton zostanie zmieniona. @@ -8714,6 +8734,11 @@ Stos śledzenia, w którym wystąpiła zabroniona operacja: Występuje, gdy wartość właściwości TextAlign zostanie zmieniona + + pressed + pressed + + Collection is read only. Kolekcja jest tylko do odczytu. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.pt-BR.xlf b/src/System.Windows.Forms/Resources/xlf/SR.pt-BR.xlf index 5dcda8ac793..84e9d4eff19 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.pt-BR.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.pt-BR.xlf @@ -907,6 +907,16 @@ Indica se o componente está no estado de ativação. + + checked + checked + + + + indeterminate + indeterminate + + Event raised when the value of the Appearance property is changed on CheckBox. Evento gerado quando o valor da propriedade Appearance é alterado em CheckBox. @@ -927,6 +937,11 @@ Indica se a CheckBox permitirá três estados de seleção em vez de dois. + + not checked + not checked + + Indicates if the check box should be toggled with the first click on an item. Indica se a caixa de seleção deve ser alternada quando um item é clicado pela primeira vez. @@ -4898,10 +4913,10 @@ depuração. Consulte o final dessa mensagem para obter detalhes. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - Consulte o final dessa mensagem para obter detalhes sobre como chamar a + Consulte o final dessa mensagem para obter detalhes sobre como chamar a depuração just-in-time (JIT) em vez dessa caixa de diálogo. @@ -8694,6 +8709,11 @@ O rastreamento de pilha em que a operação ilegal ocorreu foi: Indica se o botão de opção está ou não selecionado. + + checked + checked + + Event raised when the value of the Appearance property is changed on RadioButton. Evento gerado quando o valor da propriedade Appearance é alterado em RadioButton. @@ -8714,6 +8734,11 @@ O rastreamento de pilha em que a operação ilegal ocorreu foi: Ocorre quando o valor da propriedade TextAlign é alterado + + pressed + pressed + + Collection is read only. A coleção é somente leitura. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.ru.xlf b/src/System.Windows.Forms/Resources/xlf/SR.ru.xlf index 89af4e75583..7f186e9bb57 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.ru.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.ru.xlf @@ -907,6 +907,16 @@ Указывает, находится ли компонент в состоянии проверки. + + checked + checked + + + + indeterminate + indeterminate + + Event raised when the value of the Appearance property is changed on CheckBox. Событие вызывается при изменении значения свойства Appearance для CheckBox. @@ -927,6 +937,11 @@ Определяет, позволяет ли CheckBox использование трех состояний переключателя вместо двух. + + not checked + not checked + + Indicates if the check box should be toggled with the first click on an item. Указывает, должен ли флажок проверки изменять состояние при первом выборе данного элемента указателем мыши. @@ -4898,10 +4913,10 @@ debugging. See the end of this message for details. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - Подробная информация о вызове + Подробная информация о вызове отладки JIT вместо данного диалогового окна содержится в конце этого сообщения. @@ -8694,6 +8709,11 @@ Stack trace where the illegal operation occurred was: Указывает состояние переключателя. + + checked + checked + + Event raised when the value of the Appearance property is changed on RadioButton. Событие создается, когда для RadioButton изменяется значение свойства Appearance @@ -8714,6 +8734,11 @@ Stack trace where the illegal operation occurred was: Происходит при изменении значения свойства TextBoxTextAlign. + + pressed + pressed + + Collection is read only. Коллекция предназначена только для чтения. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.tr.xlf b/src/System.Windows.Forms/Resources/xlf/SR.tr.xlf index 9e72305a890..d5bd84e134b 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.tr.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.tr.xlf @@ -907,6 +907,16 @@ Bileşenin işaretli durumda olup olmadığını gösterir. + + checked + checked + + + + indeterminate + indeterminate + + Event raised when the value of the Appearance property is changed on CheckBox. CheckBox üzerinde Appearance özelliğinin değeri değiştiğinde harekete geçirilen olay. @@ -927,6 +937,11 @@ CheckBox'ın iki yerine üç onay durumuna izin verip vermeyeceğini gösterir. + + not checked + not checked + + Indicates if the check box should be toggled with the first click on an item. Onay kutusunun durumunun öğe üzerindeki ilk tıklatma ile değişip değişmeyeceğini gösterir. @@ -4898,10 +4913,10 @@ desteklemiyor. Ayrıntılı bilgi için bu iletinin sonuna bakın. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - Bu iletişim kutusu yerine tam zamanında (JIT) hata ayıklamanın + Bu iletişim kutusu yerine tam zamanında (JIT) hata ayıklamanın çağrılmasıyla ilgili ayrıntılar için bu mesajın sonuna bakın. @@ -8694,6 +8709,11 @@ Geçersiz işlemin gerçekleştiği yığın izi: Radyo düğmesinin işaretli olup olmadığını gösterir. + + checked + checked + + Event raised when the value of the Appearance property is changed on RadioButton. RadioButton üzerinde Appearance özelliğinin değeri değiştiğinde harekete geçirilen olay. @@ -8714,6 +8734,11 @@ Geçersiz işlemin gerçekleştiği yığın izi: TextAlign özelliğinin değeri değiştiğinde gerçekleşir + + pressed + pressed + + Collection is read only. Koleksiyon salt okunur. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.zh-Hans.xlf b/src/System.Windows.Forms/Resources/xlf/SR.zh-Hans.xlf index 6827f20269f..b676fdc2e9d 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.zh-Hans.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.zh-Hans.xlf @@ -907,6 +907,16 @@ 指示组件是否处于选中状态。 + + checked + checked + + + + indeterminate + indeterminate + + Event raised when the value of the Appearance property is changed on CheckBox. 在 CheckBox 的 Appearance 属性值更改时引发的事件。 @@ -927,6 +937,11 @@ 指示 CheckBox 是否会允许三种选中状态,而不是两种状态。 + + not checked + not checked + + Indicates if the check box should be toggled with the first click on an item. 指示复选框是否应在首次单击某项时切换。 @@ -4898,10 +4913,10 @@ debugging. See the end of this message for details. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - 请查看此消息的结尾,以了解有关调用有关调用 + 请查看此消息的结尾,以了解有关调用有关调用 即时(JIT)调试而不是此对话框的详细信息。 @@ -8694,6 +8709,11 @@ Stack trace where the illegal operation occurred was: 指示单选按钮是否已选中。 + + checked + checked + + Event raised when the value of the Appearance property is changed on RadioButton. 在 RadioButton 的 Appearance 属性值更改时引发的事件。 @@ -8714,6 +8734,11 @@ Stack trace where the illegal operation occurred was: TextAlign 属性值更改时发生 + + pressed + pressed + + Collection is read only. 集合为只读。 diff --git a/src/System.Windows.Forms/Resources/xlf/SR.zh-Hant.xlf b/src/System.Windows.Forms/Resources/xlf/SR.zh-Hant.xlf index 15f5f06c126..892c3f8d163 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.zh-Hant.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.zh-Hant.xlf @@ -907,6 +907,16 @@ 表示元件是否為已核取狀態。 + + checked + checked + + + + indeterminate + indeterminate + + Event raised when the value of the Appearance property is changed on CheckBox. Appearance 屬性值在 CheckBox 上變更時引發的事件。 @@ -927,6 +937,11 @@ 表示 CheckBox 是否允許三種核取狀態而非兩種。 + + not checked + not checked + + Indicates if the check box should be toggled with the first click on an item. 表示第一次點選項目時,是否選取核取方塊。 @@ -4898,10 +4913,10 @@ debugging. See the end of this message for details. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - 如需叫用 Just-In-Time (JIT) 偵錯的詳細資料, + 如需叫用 Just-In-Time (JIT) 偵錯的詳細資料, 請參閱本訊息結尾處的詳細資訊,而非這個對話方塊。 @@ -8694,6 +8709,11 @@ Stack trace where the illegal operation occurred was: 表示是否選取選項按鈕。 + + checked + checked + + Event raised when the value of the Appearance property is changed on RadioButton. Appearance 屬性值在 RadioButton 上變更時引發的事件。 @@ -8714,6 +8734,11 @@ Stack trace where the illegal operation occurred was: TextAlign 屬性的值變更時發生。 + + pressed + pressed + + Collection is read only. 集合是唯讀的。 diff --git a/src/System.Windows.Forms/System/Windows/Forms/Controls/Buttons/CheckBox.cs b/src/System.Windows.Forms/System/Windows/Forms/Controls/Buttons/CheckBox.cs index 57526b2644b..169e5e41661 100644 --- a/src/System.Windows.Forms/System/Windows/Forms/Controls/Buttons/CheckBox.cs +++ b/src/System.Windows.Forms/System/Windows/Forms/Controls/Buttons/CheckBox.cs @@ -5,8 +5,6 @@ using System.Drawing; using System.Windows.Forms.ButtonInternal; using System.Windows.Forms.Layout; -using Windows.Win32.System.Variant; -using Windows.Win32.UI.Accessibility; namespace System.Windows.Forms; @@ -439,9 +437,21 @@ private void NotifyAccessibilityStateChanged() // UIA events: if (IsAccessibilityObjectCreated) { - using var nameVariant = (VARIANT)Name; - AccessibilityObject.RaiseAutomationPropertyChangedEvent(UIA_PROPERTY_ID.UIA_NamePropertyId, nameVariant, nameVariant); - AccessibilityObject.RaiseAutomationEvent(UIA_EVENT_ID.UIA_AutomationPropertyChangedEventId); + // A fix for https://github.com/dotnet/winforms/issues/14669. + // Unfortunately NVDA does not receive PropertyChange messages raised via RaiseAutomationEvent. + // Use RaiseAutomationNotification instead to announce a custom notification. + // See https://docs.microsoft.com/dotnet/api/system.windows.forms.accessibleobject.raiseautomationnotification. + string notificationText = _checkState switch + { + CheckState.Checked => SR.CheckBoxCheckedNotificationText, + CheckState.Indeterminate => SR.CheckBoxIndeterminateNotificationText, + _ => SR.CheckBoxUncheckedNotificationText, + }; + + AccessibilityObject.InternalRaiseAutomationNotification( + Automation.AutomationNotificationKind.ActionCompleted, + Automation.AutomationNotificationProcessing.CurrentThenMostRecent, + notificationText); } if (FlatStyle == FlatStyle.System) diff --git a/src/System.Windows.Forms/System/Windows/Forms/Controls/Buttons/RadioButton.cs b/src/System.Windows.Forms/System/Windows/Forms/Controls/Buttons/RadioButton.cs index a6674f1ea69..a7512be8718 100644 --- a/src/System.Windows.Forms/System/Windows/Forms/Controls/Buttons/RadioButton.cs +++ b/src/System.Windows.Forms/System/Windows/Forms/Controls/Buttons/RadioButton.cs @@ -5,8 +5,6 @@ using System.Drawing; using System.Windows.Forms.ButtonInternal; using System.Windows.Forms.Layout; -using Windows.Win32.System.Variant; -using Windows.Win32.UI.Accessibility; namespace System.Windows.Forms; @@ -360,11 +358,12 @@ protected virtual void OnCheckedChanged(EventArgs e) AccessibilityNotifyClients(AccessibleEvents.NameChange, -1); // UIA events: - if (IsAccessibilityObjectCreated) + if (IsAccessibilityObjectCreated && _isChecked) { - using var nameVariant = (VARIANT)Name; - AccessibilityObject.RaiseAutomationPropertyChangedEvent(UIA_PROPERTY_ID.UIA_NamePropertyId, nameVariant, nameVariant); - AccessibilityObject.RaiseAutomationEvent(UIA_EVENT_ID.UIA_AutomationPropertyChangedEventId); + AccessibilityObject.InternalRaiseAutomationNotification( + Automation.AutomationNotificationKind.ActionCompleted, + Automation.AutomationNotificationProcessing.CurrentThenMostRecent, + SR.RadioButtonCheckedNotificationText); } ((EventHandler?)Events[s_checkedChangedEvent])?.Invoke(this, e); @@ -372,11 +371,23 @@ protected virtual void OnCheckedChanged(EventArgs e) protected override void OnClick(EventArgs e) { + bool wasChecked = _isChecked; + if (_autoCheck) { Checked = true; } + // Align with native behavior: activating an already-selected radio button + // should still announce the press action for screen readers. + if (wasChecked && IsAccessibilityObjectCreated) + { + AccessibilityObject.InternalRaiseAutomationNotification( + Automation.AutomationNotificationKind.ActionCompleted, + Automation.AutomationNotificationProcessing.CurrentThenMostRecent, + SR.RadioButtonPressedNotificationText); + } + base.OnClick(e); } diff --git a/src/test/unit/System.Windows.Forms/System/Windows/Forms/CheckBoxTests.cs b/src/test/unit/System.Windows.Forms/System/Windows/Forms/CheckBoxTests.cs index 506c893a1d7..105fe61c1d9 100644 --- a/src/test/unit/System.Windows.Forms/System/Windows/Forms/CheckBoxTests.cs +++ b/src/test/unit/System.Windows.Forms/System/Windows/Forms/CheckBoxTests.cs @@ -542,8 +542,10 @@ public void CheckBox_RaiseAutomationEvent_Invoke_Success() checkBox.Checked = true; - Assert.Equal(1, accessibleObject.RaiseAutomationEventCallsCount); - Assert.Equal(1, accessibleObject.RaiseAutomationPropertyChangedEventCallsCount); + Assert.Equal(0, accessibleObject.RaiseAutomationEventCallsCount); + Assert.Equal(0, accessibleObject.RaiseAutomationPropertyChangedEventCallsCount); + Assert.Equal(1, accessibleObject.RaiseAutomationNotificationCallsCount); + Assert.Equal(SR.CheckBoxCheckedNotificationText, accessibleObject.LastNotificationText); Assert.False(checkBox.IsHandleCreated); } @@ -736,6 +738,10 @@ public SubCheckBoxAccessibleObject(CheckBox owner) : base(owner) public int RaiseAutomationPropertyChangedEventCallsCount { get; private set; } + public int RaiseAutomationNotificationCallsCount { get; private set; } + + public string LastNotificationText { get; private set; } + internal override bool RaiseAutomationEvent(UIA_EVENT_ID eventId) { RaiseAutomationEventCallsCount++; @@ -747,6 +753,16 @@ internal override bool RaiseAutomationPropertyChangedEvent(UIA_PROPERTY_ID prope RaiseAutomationPropertyChangedEventCallsCount++; return base.RaiseAutomationPropertyChangedEvent(propertyId, oldValue, newValue); } + + internal override bool InternalRaiseAutomationNotification( + Automation.AutomationNotificationKind notificationKind, + Automation.AutomationNotificationProcessing notificationProcessing, + string notificationText) + { + RaiseAutomationNotificationCallsCount++; + LastNotificationText = notificationText; + return base.InternalRaiseAutomationNotification(notificationKind, notificationProcessing, notificationText); + } } [WinFormsFact] @@ -874,10 +890,10 @@ public void CheckBox_ProcessMnemonic_ValidCases(bool useMnemonic, char charCode, } [WinFormsTheory] - [InlineData(Appearance.Button, FlatStyle.Standard, "Test", 12, 8, 100, 20)] - [InlineData(Appearance.Normal, FlatStyle.System, "Test", 12, 8, 100, 20)] - [InlineData(Appearance.Normal, FlatStyle.Flat, "Test", 12, 8, 100, 20)] - [InlineData(Appearance.Normal, FlatStyle.Standard, "Test", 12, 8, 100, 20)] + [InlineData(Appearance.Button, FlatStyle.Standard, "Test", 12, 8, 100, 20)] + [InlineData(Appearance.Normal, FlatStyle.System, "Test", 12, 8, 100, 20)] + [InlineData(Appearance.Normal, FlatStyle.Flat, "Test", 12, 8, 100, 20)] + [InlineData(Appearance.Normal, FlatStyle.Standard, "Test", 12, 8, 100, 20)] public void CheckBox_GetPreferredSizeCore_VariousStyles_ReturnsExpected( Appearance appearance, FlatStyle flatStyle, string text, int fontSize, int padding, int width, int height) { diff --git a/src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonTests.cs b/src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonTests.cs index 08142ccb0cf..1e980af9eee 100644 --- a/src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonTests.cs +++ b/src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonTests.cs @@ -1487,8 +1487,31 @@ public void RadioButton_RaiseAutomationEvent_Invoke_Success() radioButton.PerformClick(); - Assert.Equal(1, accessibleObject.RaiseAutomationEventCallsCount); - Assert.Equal(1, accessibleObject.RaiseAutomationPropertyChangedEventCallsCount); + Assert.Equal(0, accessibleObject.RaiseAutomationEventCallsCount); + Assert.Equal(0, accessibleObject.RaiseAutomationPropertyChangedEventCallsCount); + Assert.Equal(1, accessibleObject.RaiseAutomationNotificationCallsCount); + Assert.Equal(SR.RadioButtonCheckedNotificationText, accessibleObject.LastNotificationText); + Assert.False(radioButton.IsHandleCreated); + } + + [WinFormsFact] + public void RadioButton_RaiseAutomationEvent_InvokeWhenAlreadyChecked_RaisesPressedNotification() + { + using TestRadioButton radioButton = new(); + Assert.False(radioButton.IsHandleCreated); + + var accessibleObject = (SubRadioButtonAccessibleObject)radioButton.AccessibilityObject; + Assert.Equal(0, accessibleObject.RaiseAutomationEventCallsCount); + Assert.Equal(0, accessibleObject.RaiseAutomationPropertyChangedEventCallsCount); + Assert.Equal(0, accessibleObject.RaiseAutomationNotificationCallsCount); + + radioButton.Checked = true; + radioButton.PerformClick(); + + Assert.Equal(0, accessibleObject.RaiseAutomationEventCallsCount); + Assert.Equal(0, accessibleObject.RaiseAutomationPropertyChangedEventCallsCount); + Assert.Equal(2, accessibleObject.RaiseAutomationNotificationCallsCount); + Assert.Equal(SR.RadioButtonPressedNotificationText, accessibleObject.LastNotificationText); Assert.False(radioButton.IsHandleCreated); } @@ -1641,6 +1664,10 @@ public SubRadioButtonAccessibleObject(RadioButton owner) : base(owner) public int RaiseAutomationPropertyChangedEventCallsCount { get; private set; } + public int RaiseAutomationNotificationCallsCount { get; private set; } + + public string LastNotificationText { get; private set; } + internal override bool RaiseAutomationEvent(UIA_EVENT_ID eventId) { RaiseAutomationEventCallsCount++; @@ -1652,6 +1679,16 @@ internal override bool RaiseAutomationPropertyChangedEvent(UIA_PROPERTY_ID prope RaiseAutomationPropertyChangedEventCallsCount++; return base.RaiseAutomationPropertyChangedEvent(propertyId, oldValue, newValue); } + + internal override bool InternalRaiseAutomationNotification( + Automation.AutomationNotificationKind notificationKind, + Automation.AutomationNotificationProcessing notificationProcessing, + string notificationText) + { + RaiseAutomationNotificationCallsCount++; + LastNotificationText = notificationText; + return base.InternalRaiseAutomationNotification(notificationKind, notificationProcessing, notificationText); + } } [WinFormsTheory] From 11bb2d15d915ff4de22b04436cdd2ed91e98c108 Mon Sep 17 00:00:00 2001 From: "Leaf Shi (BEYONDSOFT CONSULTING INC)" Date: Fri, 26 Jun 2026 10:10:48 +0800 Subject: [PATCH 2/4] Removing changes about RadioButton --- src/System.Windows.Forms/Resources/SR.resx | 3 -- .../Resources/xlf/SR.cs.xlf | 5 --- .../Resources/xlf/SR.de.xlf | 5 --- .../Resources/xlf/SR.es.xlf | 5 --- .../Resources/xlf/SR.fr.xlf | 5 --- .../Resources/xlf/SR.it.xlf | 5 --- .../Resources/xlf/SR.ja.xlf | 5 --- .../Resources/xlf/SR.ko.xlf | 5 --- .../Resources/xlf/SR.pl.xlf | 5 --- .../Resources/xlf/SR.pt-BR.xlf | 5 --- .../Resources/xlf/SR.ru.xlf | 5 --- .../Resources/xlf/SR.tr.xlf | 5 --- .../Resources/xlf/SR.zh-Hans.xlf | 5 --- .../Resources/xlf/SR.zh-Hant.xlf | 5 --- .../Forms/Controls/Buttons/RadioButton.cs | 23 +++-------- .../System/Windows/Forms/RadioButtonTests.cs | 41 +------------------ 16 files changed, 8 insertions(+), 124 deletions(-) diff --git a/src/System.Windows.Forms/Resources/SR.resx b/src/System.Windows.Forms/Resources/SR.resx index eccaff29099..042e87eb062 100644 --- a/src/System.Windows.Forms/Resources/SR.resx +++ b/src/System.Windows.Forms/Resources/SR.resx @@ -618,9 +618,6 @@ checked - - pressed - Indicates whether the CheckBox will allow three check states rather than two. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.cs.xlf b/src/System.Windows.Forms/Resources/xlf/SR.cs.xlf index a3b5bcf13c8..3ba3378e99d 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.cs.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.cs.xlf @@ -8734,11 +8734,6 @@ Trasování zásobníku, kde došlo k neplatné operaci: Vyvolá se při změně hodnoty vlastnosti TextAlign. - - pressed - pressed - - Collection is read only. Kolekce je jen pro čtení. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.de.xlf b/src/System.Windows.Forms/Resources/xlf/SR.de.xlf index 99a3b7be87d..d9080f6a41b 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.de.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.de.xlf @@ -8734,11 +8734,6 @@ Stapelüberwachung, in der der unzulässige Vorgang auftrat: Tritt auf, wenn sich der Wert der TextAlign-Eigenschaft ändert. - - pressed - pressed - - Collection is read only. Die Sammlung ist schreibgeschützt. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.es.xlf b/src/System.Windows.Forms/Resources/xlf/SR.es.xlf index 3549052d985..8ea464c2d0a 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.es.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.es.xlf @@ -8734,11 +8734,6 @@ El seguimiento de la pila donde tuvo lugar la operación no válida fue: Tiene lugar cuando el valor de la propiedad TextAlign cambia - - pressed - pressed - - Collection is read only. La colección es de solo lectura. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.fr.xlf b/src/System.Windows.Forms/Resources/xlf/SR.fr.xlf index a7e3e52e541..7d5961434f5 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.fr.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.fr.xlf @@ -8734,11 +8734,6 @@ Cette opération non conforme s'est produite sur la trace de la pile : Se produit lorsque la valeur de la propriété TextAlign change - - pressed - pressed - - Collection is read only. La collection est en lecture seule. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.it.xlf b/src/System.Windows.Forms/Resources/xlf/SR.it.xlf index 1ced1c14536..45c3fb2dd08 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.it.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.it.xlf @@ -8734,11 +8734,6 @@ Analisi dello stack dove si è verificata l'operazione non valida: Generato quando il valore della proprietà TextAlign cambia - - pressed - pressed - - Collection is read only. Raccolta in sola lettura. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.ja.xlf b/src/System.Windows.Forms/Resources/xlf/SR.ja.xlf index 403c27729d3..fb5c7cbe39a 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.ja.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.ja.xlf @@ -8734,11 +8734,6 @@ Stack trace where the illegal operation occurred was: TextAlign プロパティの値が変更するときに発生します。 - - pressed - pressed - - Collection is read only. このコレクションは読み取り専用です。 diff --git a/src/System.Windows.Forms/Resources/xlf/SR.ko.xlf b/src/System.Windows.Forms/Resources/xlf/SR.ko.xlf index e4d73c81408..fbf84ef0120 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.ko.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.ko.xlf @@ -8734,11 +8734,6 @@ Stack trace where the illegal operation occurred was: TextAlign 속성 값이 변경될 때 발생합니다. - - pressed - pressed - - Collection is read only. 컬렉션이 읽기 전용입니다. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.pl.xlf b/src/System.Windows.Forms/Resources/xlf/SR.pl.xlf index 3dc843b98cf..6722c040c47 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.pl.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.pl.xlf @@ -8734,11 +8734,6 @@ Stos śledzenia, w którym wystąpiła zabroniona operacja: Występuje, gdy wartość właściwości TextAlign zostanie zmieniona - - pressed - pressed - - Collection is read only. Kolekcja jest tylko do odczytu. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.pt-BR.xlf b/src/System.Windows.Forms/Resources/xlf/SR.pt-BR.xlf index 84e9d4eff19..897833c825f 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.pt-BR.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.pt-BR.xlf @@ -8734,11 +8734,6 @@ O rastreamento de pilha em que a operação ilegal ocorreu foi: Ocorre quando o valor da propriedade TextAlign é alterado - - pressed - pressed - - Collection is read only. A coleção é somente leitura. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.ru.xlf b/src/System.Windows.Forms/Resources/xlf/SR.ru.xlf index 7f186e9bb57..62477366ba7 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.ru.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.ru.xlf @@ -8734,11 +8734,6 @@ Stack trace where the illegal operation occurred was: Происходит при изменении значения свойства TextBoxTextAlign. - - pressed - pressed - - Collection is read only. Коллекция предназначена только для чтения. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.tr.xlf b/src/System.Windows.Forms/Resources/xlf/SR.tr.xlf index d5bd84e134b..a296de05f0f 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.tr.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.tr.xlf @@ -8734,11 +8734,6 @@ Geçersiz işlemin gerçekleştiği yığın izi: TextAlign özelliğinin değeri değiştiğinde gerçekleşir - - pressed - pressed - - Collection is read only. Koleksiyon salt okunur. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.zh-Hans.xlf b/src/System.Windows.Forms/Resources/xlf/SR.zh-Hans.xlf index b676fdc2e9d..b2981ab73a1 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.zh-Hans.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.zh-Hans.xlf @@ -8734,11 +8734,6 @@ Stack trace where the illegal operation occurred was: TextAlign 属性值更改时发生 - - pressed - pressed - - Collection is read only. 集合为只读。 diff --git a/src/System.Windows.Forms/Resources/xlf/SR.zh-Hant.xlf b/src/System.Windows.Forms/Resources/xlf/SR.zh-Hant.xlf index 892c3f8d163..324e1f17fab 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.zh-Hant.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.zh-Hant.xlf @@ -8734,11 +8734,6 @@ Stack trace where the illegal operation occurred was: TextAlign 屬性的值變更時發生。 - - pressed - pressed - - Collection is read only. 集合是唯讀的。 diff --git a/src/System.Windows.Forms/System/Windows/Forms/Controls/Buttons/RadioButton.cs b/src/System.Windows.Forms/System/Windows/Forms/Controls/Buttons/RadioButton.cs index a7512be8718..a6674f1ea69 100644 --- a/src/System.Windows.Forms/System/Windows/Forms/Controls/Buttons/RadioButton.cs +++ b/src/System.Windows.Forms/System/Windows/Forms/Controls/Buttons/RadioButton.cs @@ -5,6 +5,8 @@ using System.Drawing; using System.Windows.Forms.ButtonInternal; using System.Windows.Forms.Layout; +using Windows.Win32.System.Variant; +using Windows.Win32.UI.Accessibility; namespace System.Windows.Forms; @@ -358,12 +360,11 @@ protected virtual void OnCheckedChanged(EventArgs e) AccessibilityNotifyClients(AccessibleEvents.NameChange, -1); // UIA events: - if (IsAccessibilityObjectCreated && _isChecked) + if (IsAccessibilityObjectCreated) { - AccessibilityObject.InternalRaiseAutomationNotification( - Automation.AutomationNotificationKind.ActionCompleted, - Automation.AutomationNotificationProcessing.CurrentThenMostRecent, - SR.RadioButtonCheckedNotificationText); + using var nameVariant = (VARIANT)Name; + AccessibilityObject.RaiseAutomationPropertyChangedEvent(UIA_PROPERTY_ID.UIA_NamePropertyId, nameVariant, nameVariant); + AccessibilityObject.RaiseAutomationEvent(UIA_EVENT_ID.UIA_AutomationPropertyChangedEventId); } ((EventHandler?)Events[s_checkedChangedEvent])?.Invoke(this, e); @@ -371,23 +372,11 @@ protected virtual void OnCheckedChanged(EventArgs e) protected override void OnClick(EventArgs e) { - bool wasChecked = _isChecked; - if (_autoCheck) { Checked = true; } - // Align with native behavior: activating an already-selected radio button - // should still announce the press action for screen readers. - if (wasChecked && IsAccessibilityObjectCreated) - { - AccessibilityObject.InternalRaiseAutomationNotification( - Automation.AutomationNotificationKind.ActionCompleted, - Automation.AutomationNotificationProcessing.CurrentThenMostRecent, - SR.RadioButtonPressedNotificationText); - } - base.OnClick(e); } diff --git a/src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonTests.cs b/src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonTests.cs index 1e980af9eee..08142ccb0cf 100644 --- a/src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonTests.cs +++ b/src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonTests.cs @@ -1487,31 +1487,8 @@ public void RadioButton_RaiseAutomationEvent_Invoke_Success() radioButton.PerformClick(); - Assert.Equal(0, accessibleObject.RaiseAutomationEventCallsCount); - Assert.Equal(0, accessibleObject.RaiseAutomationPropertyChangedEventCallsCount); - Assert.Equal(1, accessibleObject.RaiseAutomationNotificationCallsCount); - Assert.Equal(SR.RadioButtonCheckedNotificationText, accessibleObject.LastNotificationText); - Assert.False(radioButton.IsHandleCreated); - } - - [WinFormsFact] - public void RadioButton_RaiseAutomationEvent_InvokeWhenAlreadyChecked_RaisesPressedNotification() - { - using TestRadioButton radioButton = new(); - Assert.False(radioButton.IsHandleCreated); - - var accessibleObject = (SubRadioButtonAccessibleObject)radioButton.AccessibilityObject; - Assert.Equal(0, accessibleObject.RaiseAutomationEventCallsCount); - Assert.Equal(0, accessibleObject.RaiseAutomationPropertyChangedEventCallsCount); - Assert.Equal(0, accessibleObject.RaiseAutomationNotificationCallsCount); - - radioButton.Checked = true; - radioButton.PerformClick(); - - Assert.Equal(0, accessibleObject.RaiseAutomationEventCallsCount); - Assert.Equal(0, accessibleObject.RaiseAutomationPropertyChangedEventCallsCount); - Assert.Equal(2, accessibleObject.RaiseAutomationNotificationCallsCount); - Assert.Equal(SR.RadioButtonPressedNotificationText, accessibleObject.LastNotificationText); + Assert.Equal(1, accessibleObject.RaiseAutomationEventCallsCount); + Assert.Equal(1, accessibleObject.RaiseAutomationPropertyChangedEventCallsCount); Assert.False(radioButton.IsHandleCreated); } @@ -1664,10 +1641,6 @@ public SubRadioButtonAccessibleObject(RadioButton owner) : base(owner) public int RaiseAutomationPropertyChangedEventCallsCount { get; private set; } - public int RaiseAutomationNotificationCallsCount { get; private set; } - - public string LastNotificationText { get; private set; } - internal override bool RaiseAutomationEvent(UIA_EVENT_ID eventId) { RaiseAutomationEventCallsCount++; @@ -1679,16 +1652,6 @@ internal override bool RaiseAutomationPropertyChangedEvent(UIA_PROPERTY_ID prope RaiseAutomationPropertyChangedEventCallsCount++; return base.RaiseAutomationPropertyChangedEvent(propertyId, oldValue, newValue); } - - internal override bool InternalRaiseAutomationNotification( - Automation.AutomationNotificationKind notificationKind, - Automation.AutomationNotificationProcessing notificationProcessing, - string notificationText) - { - RaiseAutomationNotificationCallsCount++; - LastNotificationText = notificationText; - return base.InternalRaiseAutomationNotification(notificationKind, notificationProcessing, notificationText); - } } [WinFormsTheory] From 87bfa2044d49130ecc7336f06a8b9edcedece0ad Mon Sep 17 00:00:00 2001 From: "Leaf Shi (BEYONDSOFT CONSULTING INC)" Date: Fri, 26 Jun 2026 10:38:34 +0800 Subject: [PATCH 3/4] Update SR.resx following by the comment --- src/System.Windows.Forms/Resources/SR.resx | 59 +++++++++---------- .../Resources/xlf/SR.cs.xlf | 11 +--- .../Resources/xlf/SR.de.xlf | 11 +--- .../Resources/xlf/SR.es.xlf | 11 +--- .../Resources/xlf/SR.fr.xlf | 11 +--- .../Resources/xlf/SR.it.xlf | 11 +--- .../Resources/xlf/SR.ja.xlf | 11 +--- .../Resources/xlf/SR.ko.xlf | 11 +--- .../Resources/xlf/SR.pl.xlf | 11 +--- .../Resources/xlf/SR.pt-BR.xlf | 11 +--- .../Resources/xlf/SR.ru.xlf | 11 +--- .../Resources/xlf/SR.tr.xlf | 11 +--- .../Resources/xlf/SR.zh-Hans.xlf | 11 +--- .../Resources/xlf/SR.zh-Hant.xlf | 11 +--- .../Forms/Controls/Buttons/CheckBox.cs | 4 +- 15 files changed, 69 insertions(+), 137 deletions(-) diff --git a/src/System.Windows.Forms/Resources/SR.resx b/src/System.Windows.Forms/Resources/SR.resx index 042e87eb062..89612956dbe 100644 --- a/src/System.Windows.Forms/Resources/SR.resx +++ b/src/System.Windows.Forms/Resources/SR.resx @@ -1,17 +1,17 @@  - @@ -615,9 +615,6 @@ indeterminate - - checked - Indicates whether the CheckBox will allow three check states rather than two. @@ -2920,7 +2917,7 @@ debugging. See the end of this message for details. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. diff --git a/src/System.Windows.Forms/Resources/xlf/SR.cs.xlf b/src/System.Windows.Forms/Resources/xlf/SR.cs.xlf index 3ba3378e99d..f935e483415 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.cs.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.cs.xlf @@ -4913,10 +4913,10 @@ Ladění není podporováno. Další informace jsou uvedeny na konci této zprá - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - Informace o vyvolání ladění JIT najdete na konci této zprávy, + Informace o vyvolání ladění JIT najdete na konci této zprávy, nikoli v tomto dialogovém okně. @@ -8709,11 +8709,6 @@ Trasování zásobníku, kde došlo k neplatné operaci: Určuje, zda přepínač je nebo není vybrán. - - checked - checked - - Event raised when the value of the Appearance property is changed on RadioButton. Událost aktivovaná při změně hodnoty vlastnosti Appearance ovládacího prvku RadioButton @@ -11561,4 +11556,4 @@ Trasování zásobníku, kde došlo k neplatné operaci: - \ No newline at end of file + diff --git a/src/System.Windows.Forms/Resources/xlf/SR.de.xlf b/src/System.Windows.Forms/Resources/xlf/SR.de.xlf index d9080f6a41b..57368494509 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.de.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.de.xlf @@ -4913,10 +4913,10 @@ debugging. See the end of this message for details. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - Weitere Informationen zum Aufrufen des + Weitere Informationen zum Aufrufen des JIT-Debuggens finden Sie am Ende dieser Nachricht, anstelle dieses Dialogfelds. @@ -8709,11 +8709,6 @@ Stapelüberwachung, in der der unzulässige Vorgang auftrat: Zeigt an, ob das Optionsfeld markiert ist oder nicht. - - checked - checked - - Event raised when the value of the Appearance property is changed on RadioButton. Das ausgelöste Ereignis, wenn der Wert der Appearance-Eigenschaft für RadioButton geändert wird. @@ -11561,4 +11556,4 @@ Stapelüberwachung, in der der unzulässige Vorgang auftrat: - \ No newline at end of file + diff --git a/src/System.Windows.Forms/Resources/xlf/SR.es.xlf b/src/System.Windows.Forms/Resources/xlf/SR.es.xlf index 8ea464c2d0a..30d2d95f43e 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.es.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.es.xlf @@ -4913,10 +4913,10 @@ depuración. Consulte el final de este mensaje para obtener más información. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - Consulte el final de este mensaje para obtener más detalles sobre cómo invocar a la depuración + Consulte el final de este mensaje para obtener más detalles sobre cómo invocar a la depuración Just-In-Time (JIT) en lugar de a este cuadro de diálogo. @@ -8709,11 +8709,6 @@ El seguimiento de la pila donde tuvo lugar la operación no válida fue: Indica si el botón de radio está activado o no. - - checked - checked - - Event raised when the value of the Appearance property is changed on RadioButton. Evento que se desencadena cuando se cambia el valor de la propiedad Appearance de RadioButton. @@ -11561,4 +11556,4 @@ El seguimiento de la pila donde tuvo lugar la operación no válida fue: - \ No newline at end of file + diff --git a/src/System.Windows.Forms/Resources/xlf/SR.fr.xlf b/src/System.Windows.Forms/Resources/xlf/SR.fr.xlf index 7d5961434f5..d78420fcc95 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.fr.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.fr.xlf @@ -4913,10 +4913,10 @@ juste-à-temps (JIT). Consultez la fin de ce message pour plus de détails. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - Consultez la fin de ce message pour plus de détails sur l'appel du débogage + Consultez la fin de ce message pour plus de détails sur l'appel du débogage juste-à-temps (JIT) à la place de cette boîte de dialogue. @@ -8709,11 +8709,6 @@ Cette opération non conforme s'est produite sur la trace de la pile : Indique si la case d'option est activée ou non. - - checked - checked - - Event raised when the value of the Appearance property is changed on RadioButton. Événement déclenché lorsque la valeur de la propriété Appearance du RadioButton est modifiée. @@ -11561,4 +11556,4 @@ Cette opération non conforme s'est produite sur la trace de la pile : - \ No newline at end of file + diff --git a/src/System.Windows.Forms/Resources/xlf/SR.it.xlf b/src/System.Windows.Forms/Resources/xlf/SR.it.xlf index 45c3fb2dd08..737902bd086 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.it.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.it.xlf @@ -4913,10 +4913,10 @@ di Windows Forms. Per i dettagli, vedi la fine di questo messaggio. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - Vedi la fine di questo messaggio per i dettagli sul richiamo del + Vedi la fine di questo messaggio per i dettagli sul richiamo del debug JIT (just-in-time) invece di questa finestra di dialogo. @@ -8709,11 +8709,6 @@ Analisi dello stack dove si è verificata l'operazione non valida: Indica se il pulsante di opzione è selezionato. - - checked - checked - - Event raised when the value of the Appearance property is changed on RadioButton. Evento generato quando il valore della proprietà Appearance di RadioButton viene modificato. @@ -11561,4 +11556,4 @@ Analisi dello stack dove si è verificata l'operazione non valida: - \ No newline at end of file + diff --git a/src/System.Windows.Forms/Resources/xlf/SR.ja.xlf b/src/System.Windows.Forms/Resources/xlf/SR.ja.xlf index fb5c7cbe39a..5a698c80705 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.ja.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.ja.xlf @@ -4913,10 +4913,10 @@ debugging. See the end of this message for details. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - このダイアログ ボックスの代わりに Just-In-Time (JIT) デバッグを呼び出すための詳細については、 + このダイアログ ボックスの代わりに Just-In-Time (JIT) デバッグを呼び出すための詳細については、 このメッセージの最後を参照してください。 @@ -8709,11 +8709,6 @@ Stack trace where the illegal operation occurred was: オプション ボタンがオンなっているかどうかを示します。 - - checked - checked - - Event raised when the value of the Appearance property is changed on RadioButton. Appearance プロパティの値が、RadioButton で変更されたときに発生するイベントです。 @@ -11561,4 +11556,4 @@ Stack trace where the illegal operation occurred was: - \ No newline at end of file + diff --git a/src/System.Windows.Forms/Resources/xlf/SR.ko.xlf b/src/System.Windows.Forms/Resources/xlf/SR.ko.xlf index fbf84ef0120..e55817926dd 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.ko.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.ko.xlf @@ -4913,10 +4913,10 @@ debugging. See the end of this message for details. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - 이 대화 상자 대신 JIT(Just-in-time) 디버깅을 호출하는 + 이 대화 상자 대신 JIT(Just-in-time) 디버깅을 호출하는 방법에 대한 자세한 내용은 이 메시지의 뒷부분을 참조하십시오. @@ -8709,11 +8709,6 @@ Stack trace where the illegal operation occurred was: 라디오 단추의 선택 상태를 나타냅니다. - - checked - checked - - Event raised when the value of the Appearance property is changed on RadioButton. Appearance 속성 값이 RadioButton에서 변경되면 이벤트가 발생합니다. @@ -11561,4 +11556,4 @@ Stack trace where the illegal operation occurred was: - \ No newline at end of file + diff --git a/src/System.Windows.Forms/Resources/xlf/SR.pl.xlf b/src/System.Windows.Forms/Resources/xlf/SR.pl.xlf index 6722c040c47..66c989bb0f5 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.pl.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.pl.xlf @@ -4913,10 +4913,10 @@ debugging. Zobacz koniec tej wiadomości, aby uzyskać szczegółowe informacje. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - Szczegółowe informacje na temat wywoływania debugowania w trybie JIT (just in time) + Szczegółowe informacje na temat wywoływania debugowania w trybie JIT (just in time) zamiast tego okna dialogowego znajdują się na końcu tego komunikatu. @@ -8709,11 +8709,6 @@ Stos śledzenia, w którym wystąpiła zabroniona operacja: Wskazuje, czy przycisk radiowy jest zaznaczony, czy nie. - - checked - checked - - Event raised when the value of the Appearance property is changed on RadioButton. Zdarzenie wywoływane, gdy wartość właściwości Appearance elementu RadioButton zostanie zmieniona. @@ -11561,4 +11556,4 @@ Stos śledzenia, w którym wystąpiła zabroniona operacja: - \ No newline at end of file + diff --git a/src/System.Windows.Forms/Resources/xlf/SR.pt-BR.xlf b/src/System.Windows.Forms/Resources/xlf/SR.pt-BR.xlf index 897833c825f..be409548017 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.pt-BR.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.pt-BR.xlf @@ -4913,10 +4913,10 @@ depuração. Consulte o final dessa mensagem para obter detalhes. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - Consulte o final dessa mensagem para obter detalhes sobre como chamar a + Consulte o final dessa mensagem para obter detalhes sobre como chamar a depuração just-in-time (JIT) em vez dessa caixa de diálogo. @@ -8709,11 +8709,6 @@ O rastreamento de pilha em que a operação ilegal ocorreu foi: Indica se o botão de opção está ou não selecionado. - - checked - checked - - Event raised when the value of the Appearance property is changed on RadioButton. Evento gerado quando o valor da propriedade Appearance é alterado em RadioButton. @@ -11561,4 +11556,4 @@ O rastreamento de pilha em que a operação ilegal ocorreu foi: - \ No newline at end of file + diff --git a/src/System.Windows.Forms/Resources/xlf/SR.ru.xlf b/src/System.Windows.Forms/Resources/xlf/SR.ru.xlf index 62477366ba7..f03aa2e7db4 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.ru.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.ru.xlf @@ -4913,10 +4913,10 @@ debugging. See the end of this message for details. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - Подробная информация о вызове + Подробная информация о вызове отладки JIT вместо данного диалогового окна содержится в конце этого сообщения. @@ -8709,11 +8709,6 @@ Stack trace where the illegal operation occurred was: Указывает состояние переключателя. - - checked - checked - - Event raised when the value of the Appearance property is changed on RadioButton. Событие создается, когда для RadioButton изменяется значение свойства Appearance @@ -11561,4 +11556,4 @@ Stack trace where the illegal operation occurred was: - \ No newline at end of file + diff --git a/src/System.Windows.Forms/Resources/xlf/SR.tr.xlf b/src/System.Windows.Forms/Resources/xlf/SR.tr.xlf index a296de05f0f..b8500fac761 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.tr.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.tr.xlf @@ -4913,10 +4913,10 @@ desteklemiyor. Ayrıntılı bilgi için bu iletinin sonuna bakın. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - Bu iletişim kutusu yerine tam zamanında (JIT) hata ayıklamanın + Bu iletişim kutusu yerine tam zamanında (JIT) hata ayıklamanın çağrılmasıyla ilgili ayrıntılar için bu mesajın sonuna bakın. @@ -8709,11 +8709,6 @@ Geçersiz işlemin gerçekleştiği yığın izi: Radyo düğmesinin işaretli olup olmadığını gösterir. - - checked - checked - - Event raised when the value of the Appearance property is changed on RadioButton. RadioButton üzerinde Appearance özelliğinin değeri değiştiğinde harekete geçirilen olay. @@ -11561,4 +11556,4 @@ Geçersiz işlemin gerçekleştiği yığın izi: - \ No newline at end of file + diff --git a/src/System.Windows.Forms/Resources/xlf/SR.zh-Hans.xlf b/src/System.Windows.Forms/Resources/xlf/SR.zh-Hans.xlf index b2981ab73a1..bd6cea78438 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.zh-Hans.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.zh-Hans.xlf @@ -4913,10 +4913,10 @@ debugging. See the end of this message for details. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - 请查看此消息的结尾,以了解有关调用有关调用 + 请查看此消息的结尾,以了解有关调用有关调用 即时(JIT)调试而不是此对话框的详细信息。 @@ -8709,11 +8709,6 @@ Stack trace where the illegal operation occurred was: 指示单选按钮是否已选中。 - - checked - checked - - Event raised when the value of the Appearance property is changed on RadioButton. 在 RadioButton 的 Appearance 属性值更改时引发的事件。 @@ -11561,4 +11556,4 @@ Stack trace where the illegal operation occurred was: - \ No newline at end of file + diff --git a/src/System.Windows.Forms/Resources/xlf/SR.zh-Hant.xlf b/src/System.Windows.Forms/Resources/xlf/SR.zh-Hant.xlf index 324e1f17fab..a525ee77703 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.zh-Hant.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.zh-Hant.xlf @@ -4913,10 +4913,10 @@ debugging. See the end of this message for details. - See the end of this message for details on invoking + See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. - 如需叫用 Just-In-Time (JIT) 偵錯的詳細資料, + 如需叫用 Just-In-Time (JIT) 偵錯的詳細資料, 請參閱本訊息結尾處的詳細資訊,而非這個對話方塊。 @@ -8709,11 +8709,6 @@ Stack trace where the illegal operation occurred was: 表示是否選取選項按鈕。 - - checked - checked - - Event raised when the value of the Appearance property is changed on RadioButton. Appearance 屬性值在 RadioButton 上變更時引發的事件。 @@ -11561,4 +11556,4 @@ Stack trace where the illegal operation occurred was: - \ No newline at end of file + diff --git a/src/System.Windows.Forms/System/Windows/Forms/Controls/Buttons/CheckBox.cs b/src/System.Windows.Forms/System/Windows/Forms/Controls/Buttons/CheckBox.cs index 169e5e41661..352fe10807d 100644 --- a/src/System.Windows.Forms/System/Windows/Forms/Controls/Buttons/CheckBox.cs +++ b/src/System.Windows.Forms/System/Windows/Forms/Controls/Buttons/CheckBox.cs @@ -438,8 +438,8 @@ private void NotifyAccessibilityStateChanged() if (IsAccessibilityObjectCreated) { // A fix for https://github.com/dotnet/winforms/issues/14669. - // Unfortunately NVDA does not receive PropertyChange messages raised via RaiseAutomationEvent. - // Use RaiseAutomationNotification instead to announce a custom notification. + // Unfortunately we cannot use RaiseAutomationEvent method here since the control does not respond to + // State messages. Use RaiseAutomationNotification instead to announce a custom notification. // See https://docs.microsoft.com/dotnet/api/system.windows.forms.accessibleobject.raiseautomationnotification. string notificationText = _checkState switch { From 8e17f9e5d4670e202f3bbeae3f03cfb9cd7ea6b1 Mon Sep 17 00:00:00 2001 From: "Leaf Shi (BEYONDSOFT CONSULTING INC)" Date: Fri, 26 Jun 2026 17:54:59 +0800 Subject: [PATCH 4/4] Update the value of the source "CheckBoxUncheckedNotificationText' to unchecked --- src/System.Windows.Forms/Resources/SR.resx | 2 +- src/System.Windows.Forms/Resources/xlf/SR.cs.xlf | 6 +++--- src/System.Windows.Forms/Resources/xlf/SR.de.xlf | 6 +++--- src/System.Windows.Forms/Resources/xlf/SR.es.xlf | 6 +++--- src/System.Windows.Forms/Resources/xlf/SR.fr.xlf | 6 +++--- src/System.Windows.Forms/Resources/xlf/SR.it.xlf | 6 +++--- src/System.Windows.Forms/Resources/xlf/SR.ja.xlf | 6 +++--- src/System.Windows.Forms/Resources/xlf/SR.ko.xlf | 6 +++--- src/System.Windows.Forms/Resources/xlf/SR.pl.xlf | 6 +++--- src/System.Windows.Forms/Resources/xlf/SR.pt-BR.xlf | 6 +++--- src/System.Windows.Forms/Resources/xlf/SR.ru.xlf | 6 +++--- src/System.Windows.Forms/Resources/xlf/SR.tr.xlf | 6 +++--- src/System.Windows.Forms/Resources/xlf/SR.zh-Hans.xlf | 6 +++--- src/System.Windows.Forms/Resources/xlf/SR.zh-Hant.xlf | 6 +++--- 14 files changed, 40 insertions(+), 40 deletions(-) diff --git a/src/System.Windows.Forms/Resources/SR.resx b/src/System.Windows.Forms/Resources/SR.resx index 89612956dbe..444c6752e9b 100644 --- a/src/System.Windows.Forms/Resources/SR.resx +++ b/src/System.Windows.Forms/Resources/SR.resx @@ -610,7 +610,7 @@ checked - not checked + unchecked indeterminate diff --git a/src/System.Windows.Forms/Resources/xlf/SR.cs.xlf b/src/System.Windows.Forms/Resources/xlf/SR.cs.xlf index f935e483415..6789f68b587 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.cs.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.cs.xlf @@ -938,8 +938,8 @@ - not checked - not checked + unchecked + unchecked @@ -11556,4 +11556,4 @@ Trasování zásobníku, kde došlo k neplatné operaci: - + \ No newline at end of file diff --git a/src/System.Windows.Forms/Resources/xlf/SR.de.xlf b/src/System.Windows.Forms/Resources/xlf/SR.de.xlf index 57368494509..49068c57595 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.de.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.de.xlf @@ -938,8 +938,8 @@ - not checked - not checked + unchecked + unchecked @@ -11556,4 +11556,4 @@ Stapelüberwachung, in der der unzulässige Vorgang auftrat: - + \ No newline at end of file diff --git a/src/System.Windows.Forms/Resources/xlf/SR.es.xlf b/src/System.Windows.Forms/Resources/xlf/SR.es.xlf index 30d2d95f43e..77371948c0f 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.es.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.es.xlf @@ -938,8 +938,8 @@ - not checked - not checked + unchecked + unchecked @@ -11556,4 +11556,4 @@ El seguimiento de la pila donde tuvo lugar la operación no válida fue: - + \ No newline at end of file diff --git a/src/System.Windows.Forms/Resources/xlf/SR.fr.xlf b/src/System.Windows.Forms/Resources/xlf/SR.fr.xlf index d78420fcc95..5c15afd1165 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.fr.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.fr.xlf @@ -938,8 +938,8 @@ - not checked - not checked + unchecked + unchecked @@ -11556,4 +11556,4 @@ Cette opération non conforme s'est produite sur la trace de la pile : - + \ No newline at end of file diff --git a/src/System.Windows.Forms/Resources/xlf/SR.it.xlf b/src/System.Windows.Forms/Resources/xlf/SR.it.xlf index 737902bd086..a121fea7fae 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.it.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.it.xlf @@ -938,8 +938,8 @@ - not checked - not checked + unchecked + unchecked @@ -11556,4 +11556,4 @@ Analisi dello stack dove si è verificata l'operazione non valida: - + \ No newline at end of file diff --git a/src/System.Windows.Forms/Resources/xlf/SR.ja.xlf b/src/System.Windows.Forms/Resources/xlf/SR.ja.xlf index 5a698c80705..b2221b830a3 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.ja.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.ja.xlf @@ -938,8 +938,8 @@ - not checked - not checked + unchecked + unchecked @@ -11556,4 +11556,4 @@ Stack trace where the illegal operation occurred was: - + \ No newline at end of file diff --git a/src/System.Windows.Forms/Resources/xlf/SR.ko.xlf b/src/System.Windows.Forms/Resources/xlf/SR.ko.xlf index e55817926dd..96758d811ec 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.ko.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.ko.xlf @@ -938,8 +938,8 @@ - not checked - not checked + unchecked + unchecked @@ -11556,4 +11556,4 @@ Stack trace where the illegal operation occurred was: - + \ No newline at end of file diff --git a/src/System.Windows.Forms/Resources/xlf/SR.pl.xlf b/src/System.Windows.Forms/Resources/xlf/SR.pl.xlf index 66c989bb0f5..02d74fc6741 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.pl.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.pl.xlf @@ -938,8 +938,8 @@ - not checked - not checked + unchecked + unchecked @@ -11556,4 +11556,4 @@ Stos śledzenia, w którym wystąpiła zabroniona operacja: - + \ No newline at end of file diff --git a/src/System.Windows.Forms/Resources/xlf/SR.pt-BR.xlf b/src/System.Windows.Forms/Resources/xlf/SR.pt-BR.xlf index be409548017..ded38716014 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.pt-BR.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.pt-BR.xlf @@ -938,8 +938,8 @@ - not checked - not checked + unchecked + unchecked @@ -11556,4 +11556,4 @@ O rastreamento de pilha em que a operação ilegal ocorreu foi: - + \ No newline at end of file diff --git a/src/System.Windows.Forms/Resources/xlf/SR.ru.xlf b/src/System.Windows.Forms/Resources/xlf/SR.ru.xlf index f03aa2e7db4..388d31e42d8 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.ru.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.ru.xlf @@ -938,8 +938,8 @@ - not checked - not checked + unchecked + unchecked @@ -11556,4 +11556,4 @@ Stack trace where the illegal operation occurred was: - + \ No newline at end of file diff --git a/src/System.Windows.Forms/Resources/xlf/SR.tr.xlf b/src/System.Windows.Forms/Resources/xlf/SR.tr.xlf index b8500fac761..e9e5533db15 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.tr.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.tr.xlf @@ -938,8 +938,8 @@ - not checked - not checked + unchecked + unchecked @@ -11556,4 +11556,4 @@ Geçersiz işlemin gerçekleştiği yığın izi: - + \ No newline at end of file diff --git a/src/System.Windows.Forms/Resources/xlf/SR.zh-Hans.xlf b/src/System.Windows.Forms/Resources/xlf/SR.zh-Hans.xlf index bd6cea78438..d23b8871c36 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.zh-Hans.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.zh-Hans.xlf @@ -938,8 +938,8 @@ - not checked - not checked + unchecked + unchecked @@ -11556,4 +11556,4 @@ Stack trace where the illegal operation occurred was: - + \ No newline at end of file diff --git a/src/System.Windows.Forms/Resources/xlf/SR.zh-Hant.xlf b/src/System.Windows.Forms/Resources/xlf/SR.zh-Hant.xlf index a525ee77703..106636aeed1 100644 --- a/src/System.Windows.Forms/Resources/xlf/SR.zh-Hant.xlf +++ b/src/System.Windows.Forms/Resources/xlf/SR.zh-Hant.xlf @@ -938,8 +938,8 @@ - not checked - not checked + unchecked + unchecked @@ -11556,4 +11556,4 @@ Stack trace where the illegal operation occurred was: - + \ No newline at end of file