ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2. C# 윈도우 프로그램 만들기 - 로드,포커스인, 아웃
    C# 2017. 1. 28. 02:03
    반응형


    인터넷강의 보고 따라하지만.. 강의 내용대로 안되서 다시 정리해 봅니다.


    배우면서 쓰는글이기 때문에 정답이 아닐수 있습니다.




    1. Ctrl + Shift + N 으로 창을 띄우고




    윈도우 폼 어플리케이션을 선택합니다.






    그러면 위 와같이 화면이 보일겁니다.

    - 만약 안보인다면 위에 메뉴중 view  에서 메뉴를 추가하면 됩니다!



    1번 이라고 써져있는 Form1 을 클릭해보면 오른쪽 아래의 properties 에 Form 속성을 제어할 수 있는 여러가지 속성이 노출됩니다. 



    2. 1번을 더블클릭! 해봅니다.


    그러면 


    ======================================================


    using System;

    using System.Collections.Generic;

    using System.ComponentModel;

    using System.Data;

    using System.Drawing;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;

    using System.Windows.Forms;


    namespace WindowsFormsApplication1

    {

        public partial class Form1 : Form

        {

            public Form1()

            {

                InitializeComponent();

            }


            private void Form1_Load(object sender, EventArgs e)

            {


            }

        }

    }




    ======================================================


    이렇게 기본 프로그램이 나올겁니다.


    사실 더블 클릭이 아닌  Solution Explorer 에서 Form1 을 클릭해서 왔다면 위의  빨간 글씨 부분인 Form1_Load 는 추가되어있지 않았을 겁니다.







     Form1_Load  는 뭘 의미 할까..??  

    아마, 폼이 로드될때 실행되는 함수 아닐까?? 싶을겁니다.


    가장 확실히 아는 방법은 그냥 해보는게 최고인거같습니다!


    ======================================================


    using System;

    using System.Collections.Generic;

    using System.ComponentModel;

    using System.Data;

    using System.Drawing;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;

    using System.Windows.Forms;


    namespace WindowsFormsApplication1

    {

        public partial class Form1 : Form

        {

            public Form1()

            {

                InitializeComponent();

            }


            private void Form1_Load(object sender, EventArgs e)

            {

    Text = DateTime.Now.ToString();    // 폼의 최상단에 현재 시간을 노출!

            }

        }

    }




    ======================================================


    Text = DateTime.Now.ToString();


    이 한줄이 추가되었죠?? 주석처럼 저런 기능이 있답니다.


    위에 프로그램을 넣고 F5를 누르고 실행해보면~~





    이렇게 시간이 노출된답니다!




    자, 여기서 추가로! 


    위에까지는 로드 되었을때고, 로드는 진작되었고, 포커스 인, 포커스 아웃 되었을때 이벤트를 주고싶다!

    기타등등등등등~~이 있겟죵??


    ======================================================

    public Form1()

            {

                InitializeComponent();

                this.GotFocus += new EventHandler(Sub_GotFocus);   //GotFocus  되었을때 이벤트 핸들러 Sub_GotFocus 함수를 실행하라~

                this.LostFocus += new EventHandler(Sub_LostFocus);  //LostFocus 되었을때 이벤트 핸들러 Sub_LostFocus함수를 실행하라~

            }



     private void Sub_GotFocus(object sender, EventArgs e)

            {

                //MessageBox.Show("'" + this.Text + "' got focus");

                Text = DateTime.Now.ToString();

            }


            private void Sub_LostFocus(object sender, EventArgs e)

            {

    Text = DateTime.Now.ToString();

                //MessageBox.Show("'" + this.Text + "' lost focus");

            }



    ======================================================



    붉은 글씨가 추가된 내용이구요!  주석처럼 되어있습니다.


    참고로 , 녹색글씨 

    //MessageBox.Show("'" + this.Text + "' lost focus");


    이거는 알림창이 떠요! 궁굼하시면 한번 넣어보세용 ㅎㅎㅎ



    이번글은 여기까지!!


    반응형

    댓글

Designed by Tistory.