2013-07-03 2 views
0

그리드를 구축하려고합니다. 데이터베이스에서 생성했습니다.FlowLayoutPanel 행 사이의 라인

내 플로우 레이 아웃을 톱 다운으로 설정했습니다. 이런 행 사이에 줄을 쓸 수 있습니까? http://data.worldbank.org/country

필요한 경우 아래 코드를 게시하십시오.

public void createLinks(string[] groupNames) 
    { 
     for (int i = 0; i < groupNames.Length; i++) 
     { 
      LinkLabel obj = new LinkLabel(); 
      obj.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; 
      obj.LinkColor = Color.Black; 
      obj.Name = groupNames[i]; 
      obj.Text = groupNames[i]; 
      obj.Click += delegate(object sender, EventArgs e) 
      {LinkLabel ss = sender as LinkLabel; 
      frmCompanyReport test = new frmCompanyReport(ss.Name); 
      test.Show(); 
      }; 
      flowLayoutPanel1.Controls.Add(obj); 
     } 
    } 
+0

가능한 중복 (http://stackoverflow.com/questions/11330734/adjusting-spacing-between-usercontrols-in-a- flowlayoutpanel) – user6807975

답변

1

한 가지 해결책은 레이블을 사용하여 선으로 작동시키는 것입니다. AutoSize를 False로, 높이를 1로, BorderStyle을 FixedSingle로 설정하십시오. 그런 다음 FlowLayoutPanel과 동일한 Width를 설정하십시오. 같은

뭔가 : [A flowLayoutPanel에 추가 된 UserControls 사이의 간격을 조정]의

public void createLinks(string[] groupNames) 
    { 
     for (int i = 0; i < groupNames.Length; i++) 
     { 
      LinkLabel obj = new LinkLabel(); 
      obj.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; 
      obj.LinkColor = Color.Black; 
      obj.Name = groupNames[i]; 
      obj.Text = groupNames[i]; 
      obj.Click += delegate(object sender, EventArgs e) 
      { 
       LinkLabel ss = sender as LinkLabel; 
       frmCompanyReport test = new frmCompanyReport(ss.Name); 
       test.Show(); 
      }; 
      flowLayoutPanel1.Controls.Add(obj); 

      Label line = new Label(); 
      line.AutoSize = false; 
      line.BorderStyle = BorderStyle.FixedSingle; 
      line.Height = 1; 
      line.Width = flowLayoutPanel1.Width; 
      flowLayoutPanel1.Controls.Add(line); 
     } 
    }