2016-04-08 2 views
-2
private void button2_Click(object sender, EventArgs e) 
    { 
     int i; 
     for (i = 243; i >= 850; i++) 
     { 
      this.Width = i; 

     }    
    } 

Я пробовал это, и он не работает. Кто-нибудь знает, почему?Увеличить размер формы программно в C#

+0

И не работает означает? –

+3

Измените свой '> =' на '<=' – Ian

+1

Условие 'i> = 850;' всегда false в этом случае, используете ли вы цикл для анимированного эффекта? это не сработает, отрегулирует цикл «UI». Удалите цикл и просто установите некоторое значение. –

ответ

1

Есть две основные проблемы, связанные с вашим кодом:

  1. i >= 850 ложно. значение начала (243) не больше или равно 850, поэтому цикл никогда не будет работать. сделайте вместо i <= 850.

  2. Петля не нужна. Форма не будет повторно отображаться для каждой итерации цикла, она будет просто отображать один раз, когда цикл будет завершен, с this.Width = 850; от последней итерации цикла, поэтому весь цикл цикла можно заменить, поскольку он в настоящее время равен this.Width = 850;

Смежные вопросы