2016-05-02 7 views
0

Winformsでは、2つのtableLayout AとBが同じスペースを共有しています。私はそれらの間を(例えばボタンを介して)切り替えると同時に、同じ空間を満たすように一度に1つしか見えないようにしたいと思います。TableLayoutは、2つのうちの1つが見えないときにスペース全体を塗りつぶします。

私が試したことは、some postに従ってください。2つの行、最初の行Autosize、2番目の行をFillとして入れて、両方を別のTableLayout Xに入れてください。

Aが見えないときは、1行目の自動サイズ調整でサイズを0に縮小し、Bを上げてすべてのスペースを埋める。しかし、Bが見えないとき、Aはすべてのスペースを取らない。

私はどのようにすべてのスペースを取ることができますか?

ありがとうございます。

はここだけではBだけで私は自分のアプリケーションでは、次の試してみました

B visible

答えて

0

表示されているときに何が起こるかである

A visible

ここに表示されているときに起こることです。私はテーブルレイアウトでフォームを1つずつ表示する必要があります。そのために、最初の行からコントロール(form1)を削除し、別のコントロール(form2)を同じ行に追加しました。このように、テーブルレイアウトコントロールでも同様に試してください。

var control = tableLayoutPanel23.GetControlFromPosition(0, 1); 
    tableLayoutPanel23.Controls.Remove(control);//removed form1 
    tableLayoutPanel23.Controls.Add(frm2, 0, 1);//added form2 
    frm1.Dispose(); 
    frm2.Show(); 
0

各行に2行と2つのグループボックスが必要な1つのtableLayoutPanelがあります。グループボックスドックの両方のプロパティを塗りつぶしにすることができます。

tableLayoutPanel3.RowStyles[0].Height = 0; 

をAが見えないときにこのようにBがフルtableLayoutPanelのサイズおよびその逆を取る:あなたはプロ文法的に使用して行の高さを変更することができます内部。両方のグループボックスが表示されている場合、グループボックスはtableLayoutPanelの各行のサイズをとります:

関連する問題