воскресенье, 14 июля 2013 г.

Работа с изменением размера окна приложения

Windows-приложение, в котором программно изменяются значения свойств элементов управления.
Поместить в центр формы одну кнопку и в обработчике события «нажатие на кнопку» изменять размеры формы. В начале при каждом нажатии на кнопку уменьшать размеры формы, но как только форма достигнет минимальных размеров – увеличивать ее при нажатии на ту же кнопку. Когда форма достигнет максимальных размеров – переключить кнопку на уменьшение и т. д.  Начальный вид формы показан на рисунке.




Задайте свойства: Form1:           Text = Изменение размеров формы
  StartPosition = CenterScreen
  MaximumSize = 1000; 700
  MinimumSize = 220; 100
  MaximizeBox = False
button1:         Text = Уменьшить форму
                       Anchor = None
                       Size = 200; 30
Текст из проекта winProgram_1 решения winProgram_4
namespace WinProgram_4
{
    public partial class Form1 : Form
    {
        public Form1()  // конструктор
        {
            InitializeComponent();
            Size s = this.ClientSize;   // размеры клиентской области
             // Размещение кнопки в клиентской области формы:
            button1.Location = new Point(s.Width/2 - button1.Width/2,
                s.Height/2 - button1.Height/2);
        }
        bool grow = false;  // Направление (рост или уменьшение формы)

        private void button1_Click(object sender, EventArgs e) {
            int w = this.Size.Width;    // ширина формы
            int h = this.Size.Height;   // высота формы
            this.Location = new Point((this.MaximumSize.Width - w)/2+20,
            (this.MaximumSize.Height-h)/2+20); // новое положение формы

            if (grow == false)
                if (w > this.MinimumSize.Width ||
  h > this.MinimumSize.Height)
                    { this.Size= new Size(w/3*2 , h/3*2); return; }
                else { grow = true; button1.Text="Увеличить форму";}
            if (w < this.MaximumSize.Width || h < this.MaximumSize.Height)
                { this.Size= new Size(w/2*3 , h/2*3); return; }
            else
            { grow = false; button1.Text="Уменьшить форму";
                this.Size= new Size(w/3*2 , h/3*2); }
        }
    }
}