2017-01-10 1 views
1

피자 가게를위한 POS 시스템을 만들고 있습니다. 판매자가 집 주소와 클라이언트 전화 번호를 추가 할 수 있도록 새 텍스트 상자를 추가했습니다. 그러나 판매자가 영수증을 인쇄 할 때 집 주소의 15 자마다 영수증에 새 줄이 필요합니다.텍스트 상자에 15 자 뒤에 새 줄을 만듭니다.

예를 들어, 판매자가 주소를 25 자로 추가합니다. 영수증의 첫 줄에 처음 15자를 표시하고 두 번째 줄에 나머지 10자를 표시합니다. 또는 제 3의 공간에서 새로운 라인을 만드는 다른 것을 할 수 있습니다. 영수증에 집 주소를 인쇄하는 코드는 다음과 같습니다.

offset += 20; 

graphic.DrawString("Adr: ".PadRight(1) + String.Format("{0}",txtAddress.Text), font2, new SolidBrush(Color.Black), startx, starty + offset); 
offset += 30; 

답변

1

나는 몇 가지 이유에 대한 확장 방법으로 쓴, 그러나 당신은 아이디어를 얻을 :

public static string Every15(this string str) { 
     if(str.Length < 15) 
      return str; 

     StringBuilder builder = new StringBuilder(); 

     for(int i = 0; i < str.Length; i++) { 
      var ch = str[i]; 

      if(i % 15 == 0 && i != 0) { 
       builder.Append("\r\n"); 
      } 
      builder.Append(ch); 
     } 

     return builder.ToString(); 
    } 
관련 문제