29

2つの行と2つの列があります。両方のセルの最後の列を1つにマージします。要件により、他のデザインオプションを使用しないということは、最初のテーブルレイアウトに2つの行がある2つのテーブルレイアウトを意味します。C#でWinformsを使用しています。

|                       |                    |
|                       |                    |
|                       |                    |
|_______________________|                    |
|                       |                    |
|                       |                    |
|                       |                    |
4

7 に答える 7

44
  1. フォームデザイナのセルに任意のコントロールを配置します
  2. コントロールを選択し、そのプロパティを表示します
  3. 「レイアウト」セクションで「ColumnSpan」プロパティを見つけます
  4. この値に必要な列スパンを入力します

説明のために写真を見てください:

ここに画像の説明を入力してください

于 2016-03-31T10:10:39.197 に答える
8

コードでそれを行う方法は次のとおりです

//create a label control, add it to the tableLayoutPanel, and merge it into 3 cells.
Label lbl = new Label();
lbl.Location = new Point(0, 0);
lbl.Text = "This is a test label";
MyTableLayoutPanel.Controls.Add(lbl, 0,0);  //start it in cell 0,0
MyTableLayoutPanel.SetColumnSpan(lbl, 3);  //merge 3 columns
于 2014-03-19T23:36:57.740 に答える
5

http://msdn.microsoft.com/en-us/library/system.windows.forms.tablelayoutpanel.aspx

たとえば、TableLayoutPanelコントロールでRowSpanpopertyを設定できます。

于 2012-02-22T07:48:23.363 に答える
1

ColumnSpan / RowSpanプロパティを設定する代わりに、別のTableLayoutPanelのセル内にTableLayoutPanelを追加できます。2つのセルをマージする代わりに、2つのセルを分割します。質問で提供する例では、右側の列を1つの行にマージするのではなく、左側の列を2つの行に分割します。

このメソッドは、 CellBorderStyleプロパティを「 None 」以外に設定する場合にのみ有利です。私はここでこの答えを見つけました。CSharpFreakは私が試していなかった別の方法も提案しています。

于 2014-05-02T14:43:05.383 に答える
0

テーブルでマージを開始するセルで、コントロールのRowSpanプロパティを設定します。つまり、RowSpanが3の場合、コントロールはそのセルとその下の2つのセルを埋めます。

右にマージするColumnSpan。

コードで、SetRowSpanおよび/またはSetColumnSpanメソッドを呼び出します。

于 2013-12-10T20:10:30.110 に答える
0

このような「マージ」プロパティをコントロールに設定できます。

コントロールがであり、Label行をマージしたい場合、次のように実行できます。

TableLayoutPanel table = new TableLayoutPanel();

Label lbl = new Label();
lbl.Text = "test";
lbl.Dock = DockStyle.Fill;

table.Controls.Add(lbl, 0, 0); //initial position
table.SetRowSpan(lbl,2);
于 2014-09-25T07:54:50.470 に答える
0

次のコードを使用すると、必要な数の行/列にコントロールをまたがることができます。

TableLayoutPanel tableLayoutPanel1 = new TableLayoutPanel(); // not required if you already have the control added else where or in designer. 
TextBox textBox1 = new TextBox(); // not required if you already have the control added else where or in designer. 
tableLayoutPanel1.Controls.Add(textBox1);// not required if you already have the control added else where or in designer. 
tableLayoutPanel1.SetColumnSpan(textBox1, 2);
tableLayoutPanel1.SetRowSpan(textBox1, 2);
于 2015-02-24T22:28:18.657 に答える