본문 바로가기

프로젝트/LCD1602용 사용자문자 디자인 프로그램

LCD1602 User character design Program 소스코드

프로젝트는 3개의 폼으로 구성됩니다. 

Form1.cs             :   Main Form

FormAbout.cs      :  Dialogbox

FormYesNo.cs     :  DialogBox

 

Form1디자인입니다.     Form1 design

MenuStrip 1

TableLayout 1   (    7Column X 8Row   )

Button 3            (     Load Save Clear   )

 

Form1_ Load()에서  40개의 Button을 생성하여 TableLayout에 5X8로 추가합니다.

그리고 8개의 TextBox를 1X8로 추가합니다

 

Form1_ Load() 소스입니다.               

좀 복잡해 보이지만                             

여기서는 그냥 참고만 하세요.         

byte[] chFont = { 0, 0, 0, 0, 0, 0, 0, 0 };  // Font Buffer
Button[,] btFont = new Button[5, 8];      //  버튼 , 텍스트를 배열로 관리하기 위하여( 반복문 등에 유용)
TextBox[] txtHex = new TextBox[8];      

                                                                 
private void Form1_Load(object sender, EventArgs e)
        {
            for (int y = 0; y < 8; y++)           //  TableLayout  행 Row
                for (int x = 0; x < 5; x++)       //  TableLayout  열 Column
                {
                    btFont[x, y] = new Button();                                       
                    tLayoutFont.Controls.Add(btFont[x, y], x, y);     // TableLayout에 추가
                    btFont[x,y].Name=x.ToString()+y.ToString();    //  x,y좌표로 이름 만들기

                    btFont[x, y].Dock = DockStyle.Fill;
                    btFont[x, y].MouseClick += new MouseEventHandler(Font_Button_Click);
                }                                             //  버튼이벤트 등록 

            for (int i = 0; i < 8; i++)             //  TableLayout  행 Row
            {
                txtHex[i] = new TextBox();
                tLayoutFont.Controls.Add(txtHex[i], 6, i);
                txtHex[i].TextAlign = HorizontalAlignment.Center;                   
                txtHex[i].Font = new Font("돋음체", 16, FontStyle.Regular);  
                txtHex[i].Dock = DockStyle.Fill;
            } // 텍스트 배열 초기화
            Clear();       
        }   //func

private void Clear()                      
        {
            for (int i = 0; i < 8; i++)
            {   
                chFont[i] = 0;                        // Set Font Buffer to 0
                txtHex[i].Text = "00";            //  Set Label Text to 0x00
            }                                               //  I use Button BackColor for Selected or Not it
            for (int y = 0; y < 8; y++)          // Set Button BackColor to No Seleted
                for (int x = 0; x < 5; x++) btFont[x, y].BackColor = System.Drawing.SystemColors.Control;
        }//func