Ich möchte in einem TableLayoutPanel
blättern können, wenn der Gehalt höher als die Platte bekommt selbst.
ich versucht habe:vertikal ScrollBar in Table
- Set
AutoScroll
zutrue
(Addiert unnecessary horizontal scrollbar) - Zusätzlich Padding auf der rechten Seite geben Sie den horizontalen Scrollbalken erscheinen (lässt einen üblen Lücke zwischen Inhalt und Scrollbar)
- Satz zu verhindern
AutoScroll
-false
undVerticalScroll.Visible
zutrue
(ignoriert der Scrollbar, wenn der Inhalt wächst und erlauben dem Benutzer nicht gescrollt werden)
Wie kann ich eine angenehme vertikale Bildlaufleiste ohne böse Nebenwirkungen erhalten?
einige runnable Code zu spielen:
public class FormTLPTest : Form
{
TableLayoutPanel tlp;
public FormTLPTest()
{
Height = 800;
Width = 800;
tlp = new TableLayoutPanel();
tlp.Dock = DockStyle.Fill;
tlp.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single;
//tlp.AutoScroll = true; //adds horizontal ScrollBar
//tlp.Padding = new Padding(0, 0, SystemInformation.VerticalScrollBarWidth, 0); //prevents horizontal ScrollBar but adds nasty gap
tlp.VerticalScroll.Visible = true;
tlp.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100.0F));
Controls.Add(tlp);
tlp.Click += Tlp_Click;
Add10Lines();
}
private void Tlp_Click(object sender, System.EventArgs e)
{
Add10Lines();
}
private void Add10Lines()
{
tlp.SuspendLayout();
for (int i = 0; i < 10; i++)
{
Label lb2 = new Label();
lb2.Margin = new Padding();
lb2.Dock = DockStyle.Fill;
lb2.BackColor = Color.White;
lb2.Text = "Some longer Text - it contains information. Don't know what I should write to fill the space";
lb2.Click += Tlp_Click;
tlp.Controls.Add(lb2, 0, i);
}
tlp.ResumeLayout();
}
}
die Beratung im Bearbeitungs auch die horizontalen Scrollbar – Breeze
[link] (http://imgur.com/iGSGshM) der Enabled Teil nicht verstecken tut nicht so. Seltsam, die Bar zeigt für einen Moment, dann ist es nicht sichtbar. – Vegz
Awsome! Ich vermisste immer noch, die vertikale Bildlaufleiste sichtbar zu machen – Breeze