좋은질문

C# 랜덤 넘버 다수 라벨

JustineBaek 2014. 9. 2. 22:54

 

 

 

 

c# 입문 초보입니다.

버튼을 누르면 10개의 라벨에 각각 1~50의 랜덤 숫자가 나타나게 하고 싶은데요
라벨 각각을 쓰자니 할 수 는 있지만 좀 깔끔하게 하나로 통합하고 싶습니다

예를 들면 라벨 1 부터 라벨 10 까지 있을때
        Random rand = new Random(1, 50);
        int A = 1;
            labelA.Text = rand.Next(1, 45).ToString();

뭐 이런식으로 하고 자동으로 A 를 2로 만들고 루프를 또 돌고

뭐 암튼 이런식으로 할 수 있는 방법이 없을까요?

없다면 복붙이나 해야죠..

 

 

 

 

안녕하세요?

 

; 복붙 방법보다는 아래와 같이 메서드 2개를 만들어 간단하게 호출할 수 있습니다.

; 로직 -> 처음에 라벨 Text를 모두 지워놓고, 하나씩 번호를 써나갑니다.

; 그룹박스를 하나 써서 라벨을 배치합니다.

  그룹박스 : grpNumbers

 

1. 버튼이 눌리면, 난수를 루프만큼 구해서 SetLabel 메서드에 표시를 요청합니다.

private void button1_Click(object sender, EventArgs e)
{

       // 라벨을 초기화합니다.
       ClearLabel();

     

       // 난수를 배정합니다.

       Random rand = new Random();
       int result = 0;
       for (int loop = 0; loop < 5; loop++)
       {
            result = rand.Next(1, 50);
            SetLabel(result);
       }

      

       // 리소스를 반환 합니다.

       rand = null;

} 

 

2. 그룹박스에서 라벨을 찾아, 요청받은 숫자를 표시합니다.

private void SetLabel(int number)
{
     foreach (Control control in grpNumbers.Controls)
     {
          if (control is Label)
          {
               if (control.Text.Trim() == "")
               {
                    control.Text = number.ToString();

                    return;
               }
          }
     }
}

 


3. 라벨의 텍스트를 초기화 합니다.

private void ClearLabel()
{
      foreach (Control control in grpNumbers.Controls)
      {
            if (control is Label)
            {
                  Label label = control as Label;
                  label.Text = "";
            }
      }
}

 

도움이 되시길 바랍니다.

감사합니다.

 

 

written by

  

legend 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C과외/C#과외/VB과외 프로그래밍 과외.서울인천경기-방문강의.기타전국-화상강의.제대로 체계적으로 배우고싶은분들.15년경력 프리랜서.삼성/포스코/한진 등.

서울,인천,경기,분당,일산,과천,산본,부천,부평,평촌,안산,안양,광명,용인,시흥,성남,수원,평택,오산,화성,동탄,천안,아산,

c#프로그래밍1:1과외, 15년 이상 프로젝트 경력의 프리랜서 직접 강의,

c#프로그래밍 과외, c#프로그래밍교육, IT·컴퓨터·컴퓨터과외비·프로그래밍과외, c# 강좌, c# 프로그래밍,

데이터베이스, 데이터베이스 프로그래밍, db, DB, 과외비,컴퓨터1:1,컴퓨터개인지도,컴퓨터실무과외,컴퓨터과외,컴퓨터1:1과외,

서울,인천,경기,부천,안산,분당,일산,천안,과천,산본,안양,광명,평촌,수원,평택,오산,용인,부평,시흥,성남,화성,동탄

광주,부산,대구,대전,마산,창원,울산,전주,군산,원주,강릉,충청남도,충청북도,강원도,경상남도,경상북도,전라남도,전라북도,제주도