Формы в C#

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Hammer94, 10 Apr 2009.

  1. Hammer94

    Hammer94 New Member

    Joined:
    21 Dec 2008
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    парни, как в си шарп сделать так чтобы когда на первой форме когда нажал кнопку, открылась вторая форма, а первая закрылась?
     
  2. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    добавляешь вторую форму. Потом прописываешь кнопке Click-евент, в нём показывает вторую форму( Form2.ShowDialog() ) и закрывай вторую Form1.Hide() (или Dismiss, не помню точно).
     
  3. flabber

    flabber New Member

    Joined:
    24 Jan 2007
    Messages:
    16
    Likes Received:
    4
    Reputations:
    0
    В васике .нет по крайней мере так:
    Form2.show()
    Me.close() ну или Form1.close()
     
  4. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    Во-первых, главную форму закрывать нельзя, поскольку это эквивалентно закрытию приложения.
    Во-вторых, необходимость закрытия главной формы и открытия другой формы свидетельствует о неправильном дизайне приложения в целом.
     
  5. procedure

    procedure Elder - Старейшина

    Joined:
    22 Dec 2007
    Messages:
    527
    Likes Received:
    257
    Reputations:
    46
    Ну почему же. Я видел не мало MDI проектов, в которых главное окно являлось неким бэкграундом. И его закрыть действительно можно было, но после этого оставалась панель WindowToolsPanel. Которая являлось собственным элементом управления.

    2ой случай более интересный и он продемонстрирован в браузере GoogleChrome, где можно перенести вкладку на свободное пространство. При этом откроется новое окно, а прошлое можно закрыть. Дизайн сделан на твердую 5чку у них) И тут естественно используется их же элемент управления.


    В этих и некоторых других случаях это показывает не неправильный дизайн, а профессиональное управление потоками приложения. Ведь все мы знакомы с ситуацией, когда мы открываем окно настроек приложения и переключится обратно к приложению мы не можем пока не закроем окно настроек. Не задумывались почему?

    3ий случай довольно тоже интересный. Программа установки SQL Server 2008 открывает сначала консоль, выполняет некоторые операции и открывает окно настроек установки, далее (во время установки) открывается новое окно, с ProgressBar'ом и statuslabel'ом состояния установки. Прошло как вы говорите главное окно, можно при этом закрыть. При этом дизайн сделать просто отлично.

    В случае с ТС, советую создать иконку. И скрывать "главное окно". При выборе соответствующей опции - открыть.
     
    1 person likes this.