Что ж, довольно сложно понять, что вы на самом деле спрашиваете здесь, но причина, по которой ваш ProgressBar не обновляется, заключается в том, что вы фактически не говорите ему об обновлении, пока вы не переместите ползунок.
Обратите вниманиекак у вас есть вся логика для того, чтобы пароль был «хорошо, слабый или нормальный» в событии Slide вашего компонента lengthSlider.Тем не менее, нигде в этом коде вы не устанавливаете значение ProgressBar - что, по-видимому, делается для события "bgen_Click", которое, как я полагаю, является кнопкой создания пароля?
Для обновления графического интерфейса при работеотдельные элементы управления вам нужно вызвать соответствующий код.Я бы посоветовал вам поместить всю свою логику в осмысленные функции и вызывать их по мере необходимости.
Лично у меня будет что-то вроде этого:
GetPasswordStrengthString ();- проверьте наличие символов и чисел checkbox.checked и длину для возврата соответствующей строки для метки "strLabel".
CalculateStrengthBarLength ();- вся ваша логика для определения длины ProgressBar
Они будут вызываться там, где вы хотите, чтобы они вступили в силу.Например, для события CheckedChanged флажков для символов и чисел, например, когда это меняется, вы хотите, чтобы оно отображалось в ProgressBar.