[C#.NET] A 폼 닫고 B 폼 열기
Visual Basic 6을 사용해보신 분은 'hide'와 'show'만 가지고 자유자재로 컨트롤을 쉽게 제어할 수 있었습니다.
더불어 Application의 닫기 이벤트 또한 내부함수로 구성되어 있어서 사용하기에 편리했습니다.
C#은 문제를 도출하기 위해 다소 다른 방법을 사용합니다.
이 예제는 그러한 상황을 해결하기 위해 만들어졌습니다.
1. 인터페이스 설계
'Sample'이라는 제목을 가지고 있는 A 폼 입니다.
'Main'이라는 제목을 가지고 있는 B 폼 입니다.
|
|
그림 1) A 폼 닫고 B 폼 열기
솔루션 탐색기에서 'Program.cs'를 클릭합니다.
2. 구현
아래의 글 상자는 초기 소스 코드입니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
{
static class Program
{
/// <summary>
/// 해당 응용 프로그램의 주 진입점입니다.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Login());
}
}
아래와 같이 신규 선언을 해줍니다.
Main MainApp = new Main();
Application.Run(MainApp);
Main은 이 예제의 실제 파일 이름입니다.
Application.Run()은 메인 폼 호출에서 도출해낸 아이디어입니다.
A폼으로 소스(Login.Designer.cs)를 엽니다.
초기 소스는 아래와 같이 선언되어 있음을 알수 있습니다.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
{
public partial class Login : Form
{
public Login()
{
InitializeComponent();
}
}
폼을 아래와 같이 구성 합니다.
그리고 버튼을 더블 클릭합니다.
{
}
위와 같은 소스가 추가 됨을 알 수가 있습니다.
}
사이에 소스 코드를 입력합니다.
MainApp.Show();
this.Close();
그리고 B 폼을 신규 윈도우 폼 추가합니다. 폼 이름은 Main으로 설정합니다.
조금 여운을 남겨놓습니다.
Program.cs에 클래스를 활용한다면 A 폼을 종료할 때 B 폼이 강제적으로 실행되는 것을 막을 수 있습니다.
'소프트웨어(SW) > MS - Visual C#.NET' 카테고리의 다른 글
[C#.NET] MySQL Blob 이미지 읽기, 저장하기 (0) | 2019.07.21 |
---|---|
[C#.NET] 동적 컨트롤 제어에 관한 방법 (2) | 2014.02.02 |
[C#.NET] DirectoryInfo - 디렉토리 내 파일 무시하고 강제 삭제 (2) | 2013.12.16 |
[C#.NET] AES를 통한 파일 암호화 구현 예제 (2) | 2013.12.09 |
[ExcelObj].NET 개발자의 관점에서 파악한 Excel 개체 모델 - VS2012기준 (2) | 2013.08.11 |