ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C#] 다차원 배열 버튼 생성해보기
    Programming/C# 2019. 3. 22. 16:57
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     public void CreateButtons()
            {
                int xLoc = 35;
                int yLoc = 25;
                Button[,] drBtns = new Button[24];
     
                for(int i = 0; i < drBtns.GetLength(0)  ; i++)
                {
                    for (int j = 0; j < drBtns.GetLength(1) ; j++)
                    {
                        drBtns[i, j] = new Button();
                        drBtns[i, j].Name = string.Format("DrBtn{0}", (j + 1+ (i * drBtns.GetLength(1) ) );
                        drBtns[i, j].Text = string.Format("버튼{0}", (j + 1+ (i * drBtns.GetLength(1)) );
                        drBtns[i, j].Location = new Point(xLoc+(j*105), (yLoc+i*70));
                        drBtns[i, j].Size = new Size(7535);
     
     
                        panel1.Controls.Add(drBtns[i, j]);
                    }
                    
                }
     
               
            }
    cs


    2 * 4 배열을 만들생각이다.


    기본적인 배열의 개념 참고 : https://076923.github.io/posts/C-16/


    1. form 에 panel1 패널 붙이기 ( gui 에서 직접 패널을 붙여도 된다.)


    2. Default 값이 되는 location(위치) 잡기  나의경우엔 35, 25 가된다.  // 나중에 위치지정해도된다.

    xLoc = 35 / yLoc = 25


    3. 버튼 생성 하기

    Button[ , ] drBtns = new Button[2,4];



    배열에대한 이중 반복문 그려보기


    반복문은 n에 대한값을 2로 지정하는데  for 값을 2로 지정하는것보다 버튼에대한 길이를 찾는 GetLength() 함수를 사용하였다.


    차례대로 getLength(0) 은 2를  getLength(1)은 4 의 값을 가지게된다.


    각 버튼에대한 값을 쓴다.


    각 함수 정보

    Name : 코드에 사용되는 버튼이름 

    Text  : 사용자에게 보여지는 버튼이름

    Location  : 버튼의 위치 ( 2번 항목을 참고하여 기본 위치값 조정)

    Size : 버튼의 크기를 지정한다.


    그리고 Panel 에 각 버튼을 붙이는 작업 


    Controls.Add 함수를 사용한다.



    완성된 화면



    'Programming > C#' 카테고리의 다른 글

    [C#] Using 문  (0) 2019.05.15
    [C#] 타이틀바 없는 폼 위치이동  (0) 2019.05.12
    [C#] 사용되는 키워드, 도움주는 싸이트  (0) 2019.03.08
    [C#] Hello World  (0) 2019.03.08
    [C#] Object Class 에 관하여  (0) 2019.03.06
Designed by Tistory.