Ich muss int und oder bool in checkState
umwandeln %Vor%Wie Sie sehen können, möchte ich (this.gsCheck2) CheckState ändern (this.gsCheck1) CheckState und am Ende mit einem ganzzahligen Wert enden, der benötigt wird.
Aktualisierung .... Problem gelöst
%Vor%CheckBox.Checked
, was die boolesche Eigenschaft ist . box.CheckState = (CheckState)ValueCheck;
?:
-Operator verwenden. Aktualisierung entsprechend den Kommentaren:
Deklarieren Sie den ValueCheck als CheckState:
%Vor%Oder konvertieren Sie den int-Wert in einen CheckState-Wert:
%Vor%Die Umwandlung des CheckState-Wertes in int:
%Vor% Aktualisieren
FYI, anstatt die ValueCheck-Methode zu schreiben, gibt es einen C # -Operator ?:
-Operator , den ich erwähnt habe oben, was Sie tun können:
Was ist eine Übersetzung von:
%Vor%Brauchen Sie wirklich CheckedState, das auch den "partiellen" Checked-Zustand einiger CheckBoxen umfasst, oder suchen Sie einfach nach einem Weg, ohne eine Menge IF-Anweisungen zu schreiben, um Werte auf und von CheckBoxes zu übertragen? Wenn ja, haben Sie ConvertTo in Betracht gezogen?
Um eine 0 oder 1 in einen booleschen Wert zu verwandeln, der einer CheckBox zugewiesen werden kann:
%Vor%Oder um die Checked-Eigenschaft einer Checkbox zuverlässig in eine 1 oder 0 umzuwandeln:
%Vor% Es scheint ValueCheck
sollte entweder 1 oder 0 sein, die true
bzw. false
repräsentieren. In diesem Fall sollten Sie folgendes verwenden:
EDIT: Basierend auf Ihrer Bearbeitung scheint es, was Sie wollen, ist dies:
%Vor% Beachten Sie jedoch, dass ValueCheck möglicherweise einen ungültigen Wert für die Aufzählung CheckState
enthält.
CheckState enum hat folgende Werte:
%Vor%Wenn Sie Ihre Werte als Nullwert-Bit in Ihrer Datenbank speichern, entspricht dies bool? in c #.
Ich habe die folgenden statischen Helper-Methoden für handliche Konvertierungen zwischen bool geschrieben? und CheckState
%Vor%