2015-09-18 5 views
0

Я использую Winform. У меня есть изменение размера. Когда я вызываю событие, он вызывает себя снова и снова. Следующий мой код.Как остановить цикл при изменении размера Winform?

private void Form1_Resize(object sender, EventArgs e) 
{ 
    int tabHeight = 100; 
    this.Height = tabHeight + 20; 
    this.Top = (Screen.PrimaryScreen.Bounds.Height/2) - (this.Height/2); 
} 

Событие называют себя снова и снова от this.Height = tabHeight + 20; Как я могу остановить цикл вызова?

ответ

0

Здесь возможное решение:

bool _resizing; 

private void Form_Resize(object sender, EventArgs e) 
{ 
    if (_resizing) return; 
    _resizing = true; 

    int tabHeight = 100; 
    Height = tabHeight + 20; 
    Top = (Screen.PrimaryScreen.Bounds.Height/2) - (Height/2); 

    _resizing = false; 
} 

Но есть некоторые лучшие способы изменения размера окна только в одном направлении: Vertically (only) resizable windows form in C#

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

  • Нет связанных вопросов^_^