레이블이 #시샵윈폼인 게시물을 표시합니다. 모든 게시물 표시
레이블이 #시샵윈폼인 게시물을 표시합니다. 모든 게시물 표시

2021년 11월 6일 토요일

C# 윈폼(Form클래스 – 폼에 컨트롤 올리기)

 C# 윈폼(Form클래스 – 폼에 컨트롤 올리기)


윈도우 운영체제는 사용자 인터페이스를 위해 메뉴, 콤보 박스, 리스트 뷰, 버튼, 텍스트박스 등과 같은 표준 컨트롤을 제공한다. 닷넷의 윈폼은 이들 표준컨트롤을 윈도우 위에 쉽게 올릴 수 있도록 포장해 두었다.


이번에는 콘솔 프로그램 형태로 직접 컨트롤을 생성해서 폼 위에 올려보자. 다음과 같은 방법으로 하면 된다.


  •  컨트롤의 인스턴스 생성

  •  컨트롤의 프로퍼티(속성) 설정

  •  컨트롤의 이벤트에 이벤트 처리기 등록

  •  폼에 컨트롤 추가


1. 컨트롤의 인스턴스 생성


    WinForm의 모든 컨트롤은 System.Windows.Forms.Control을 상속받아 만든다. 이 형식이 

    모든 윈도우의 컨트롤이 지원해야 하는 그래픽이나, 동작, 이벤트 등을 제공하기 때문에 컨트롤을 상속받는 어떤 클래스라도 윈폼 위에 올려 윈도우 UI를 구성할 수 있다.


    Button button1 = new Button();


2. 컨트롤의 프로퍼티에 값 설정


    button1.Text = “메시지”;

    button1.Left = 50;  

    button1.Top = 50;


3. 컨트롤의 이벤트에 이벤트 처리 메소드 등록


    사용자가 버튼을 클릭하면 메시지 박스를 띄운다.


    button1.Click += (object sender, EventArgs e) =>

                         {

                               MessageBox.Show(“버튼 클릭~”);

                          };ㅋㅋ

4. 폼에 컨트롤 추가


    Program p = new Program();

    p.Controls.Add(button1);

    Application.Run(  p  );



using System;

using System.Windows.Forms;

 

namespace ConsoleApplication9

{

    class Program : Form

    {

        static void Main(string[] args)

        {

            Button button1 = new Button();

            button1.Text = "메시지";

            button1.Left = 50;

            button1.Top = 50;

            button1.Click += (object sender, EventArgs e) =>

                         {

                             MessageBox.Show("버튼 클릭~");

                         };

            Button button2 = new Button();

            button2.Text = "종료";

            button2.Left = 150;

            button2.Top = 50;

 

 

            button2.Click += (object sender, EventArgs e) =>

            {

                MessageBox.Show("종료됩니다.~");

                Application.Exit();

            };

            Program p = new Program();

            p.Text = "윈폼 버튼 예제";  //윈도우 타이틀

            p.Height = 150;

            p.Controls.Add(button1);

            p.Controls.Add(button2);

            Application.Run(p);

        }

    }

}

 

qTszagV65n8n5RwblP2bVicMUI7Y-iTc4Kwr5wfK

#윈폼, #시샵윈폼, #winform, #winform교육, #닷넷교육 

C# 윈폼(Application 클래스)

 C# 윈폼(Application 클래스)


C#.NET 프레임워크에서는 간단히 윈도우를 만들 수 있도록 Winform 클래스 라이브러리를 제공하며 다음과 같은 방법으로 윈도우를 생성한다. 


  • System.Windows.Forms.Form 클래스에서 파생된 윈도우폼 클래스 선언

  • 위에서 만든 클래스의 인스턴스를 System.Windows.Forms.Application.Run() 메소드에 매개변수로 넘겨 호출하면서 윈폼 응용 프로그램을 시작한다.


Application 클래스의 기능은 윈도우 응용프로그램을 시작하고 종료시키고, 윈도우 메시지를 처리하는 일을 한다.


응용프로그램의 시작은 Application.Run(), 응용프로그램의 종료는 Application.Exit()인데 Exit() 메소드가 호출되었다고 바로 종료되는 것은 아니다. 이 메소드가 하는 일은 응용프로그램의 모든 윈도우를 닫은 후 Run() 메소드가 Return되도록 하는 것이므로 Run() 메소드 뒷부분에 프로그램이 종료되면서 할 일이 있다면 해당 코드를 기술하면 된다.


[별도 이벤트처리 메소드를 만들고 델리게이트의 인자로]

 

System.Windows.Forms를 참조 추가해야 한다.

 

using System;

using System.Windows.Forms;

 

class Program : Form

    {

        static void Main(string[] args)

        {

            Program form = new Program();

            form.Click += new EventHandler(form.Form_Click);

            Console.WriteLine("윈도우 시작...");

            Application.Run(form);

            Console.WriteLine("윈도우 종료...");

        }

 

        void Form_Click(object sender, EventArgs e)

        {

            Console.WriteLine("폼클릭 이벤트...");

            Application.Exit();

        }

    }

 

 

[람다식을 이용한 무명함수로 이벤트 처리]

using System;

using System.Windows.Forms;

 

namespace ConsoleApplication9

{

    class Program : Form    {

        static void Main(string[] args)        {

            Program form = new Program();

            form.Click += new EventHandler(

                   (sender, eventArgs) =>

                   {

                      Console.WriteLine("폼클릭 이벤트...");

                      Application.Exit();

                   });

            Console.WriteLine("윈도우 시작...");

            Application.Run(form);

            Console.WriteLine("윈도우 종료...");

            

        }

    }

}

 

#윈폼, #시샵윈폼, #Application객체, #윈폼강좌, #윈폼강의

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...