2016-07-01 12 views
1

ボタンの間には、TableLayoutPanelに追加する間隔があります。 Buttonのボーダーを削除し、Panel内の余白とパディングを0に設定しました。しかし、私はその間隔を続けています。TableLayoutPanelのコントロール間のスペースを削除できませんか?

tableLayoutPanel.RowCountは8に設定され、Rowsコレクションは8行にSize Type Absoluteを追加しました。

何か不足していますか?ここで、コードは次のとおりです。ここで

private void FillSelectLayout() 
    { 
     tableLayoutPanelSelect.Controls.Clear(); 
     tableLayoutPanelSelect.RowStyles.Clear(); 

     tableLayoutPanelSelect.RowCount = 8; 

     for (int i = 0; i < 8; i++) 
     { 
      Button buttonSelector = new Button(); 
      buttonSelector.Height = 64; 
      buttonSelector.Width = 100; 
      buttonSelector.FlatStyle = FlatStyle.Flat; 
      buttonSelector.FlatAppearance.BorderSize = 0; 
      buttonSelector.BackColor = Color.Yellow; 
      tableLayoutPanelSelect.Controls.Add(buttonSelector, 0, i); 
     } 
    } 

は、表示されます方法は次のとおりです。

enter image description here

+0

TLP、RowSizes、Margin、Paddingを設定する場所は表示されません。 – TaW

答えて

5

を細胞内でのボタンの間のスペースを削除するには、それを記入し、その後のデフォルトの余白を削除するには、それらのDockプロパティを設定するだけで十分ですボタン:

var b = new Button(); 
b.Dock = DockStyle.Fill; 
b.Margin = new Padding(0); 

注:

  • 通常、セルにホストするコントロールのDockのプロパティをFillに設定する方が良いです。このようにして、コントロールは列と行に設定するTableLayouPanelサイジング規則に従います。

  • TableLayoutPanel使用Marging細胞のコントロールの位置を設定するコントロールのプロパティ。したがって、Dockを設定したくない場合はSizeを手動で設定したい場合は、Marginを設定するだけで十分です。

+0

「Dock」プロパティを設定する必要はありませんでしたが、「Margin」ゼロがキーです。 – Crowcoder

+1

@Crowcoder通常は、セルでホストするコントロールの 'Dock'プロパティを' Fill'に設定する方が良いでしょう。このようにして、コントロールは列と行に設定する 'TableLayouPanel'サイジング規則に従います。 –

1

私はパネルで余白とパディングを0に設定しています。

なぜあなたは代わりにButtonsMarginを削除しませんでした:

buttonSelector.Margin = new Padding(0); 

MSDN:

をMarginプロパティが 他のコントロールからの指定された距離を保ちコントロールの周りのスペースを定義コントロールの境界線。

0

TableLayoutPanel

に異なる制御を使用している間、私はあなたがいつ、プロパティ

  • 後藤列に表示
  • クリックを設計するために、この

    1. 移動を行うことができ、同じ問題に直面しましたテキストボックスをクリックすると、右端にボタン(...)が表示されます。
    2. ポップアップ風owが表示されたら、[絶対サイズ]または[パーセント]の代わりに[自動サイズの選択]を選択します。
    3. 同じウィンドウでShow:を選択してRowsを選択し、再度[自動サイズ変更]を選択します。
    4. OKをクリックすると、完了です。
  • 関連する問題