1 - так и покажите где и как обявлен
label2
2 - и где, по отношению к ней, находится код, который пытается нзменить
label2
3 - приведите убедительные доказательства, что этот код кообще реально вызывается (да, и такие ошибки бывают. но тут достаточно break point в студии поставить)
.. вам надо показать всю картину. по тому что по общему описанию, вы ловите проблему, которой действительно не должно быть в
WinForms
вольная фантазия - возможно вы повесили модификатор
public
на метод, который пытается изменить
label2
, но возможно умудрились
label2
сделать недоступным. по дефолту визуального конструктора, он скоре всего так
public
, но может это вторичная фрма? которую вы всю всю сделали
private
?... (хотя тут и компилятор бы ругнулся..) тем не менее - без полной картины качественный ответ невозможн
звиняйте экстрасенсы в отпуске (с) ))ps старый и слепой (((int score=0;
label2.Text = "хоть что то";
while (score <= 0)
{
score = textBox1.TextLength;
richTextBox1.Text += score;
if(score>0)
label2.Text = score.ToString();
}
это на 100% бесконечный цикл. он имеет шанс на выход, только в случае, если
score
имеет отрицательное значение. но...
- мы имеем инициализацию
int score=0;
, мало того, изначальное инициализиреуем
label2
не пустым значением, а это будет только
подливать керосина в костер, но уже в теле цикла
- далее бесконечно
score = textBox1.TextLength;
вот только это значение ни когда не может быть отрицательным (а судя по остальному коду цикла, даже вряд ли нулевым хоть когда либо)
- и напомниню исловие цикла
while (score <= 0)
(то есть
равенство нулю допустимо волею автора изначально) прервать эту вакханалию может только отрицтельное значение.. ну или
break;
по какому то осмысленному условию, которое реально может наступить в достаточно короткие сроки.. а не через годы, а то ведь
бешатой собаке семь верст не круг (с)
похоже что все у вас происходит, только название этому -
зависание (по заумному -
бесконечный цикл)