Panel.ScrollBars Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the visibility and position of scroll bars in a Panel control.
public:
virtual property System::Web::UI::WebControls::ScrollBars ScrollBars { System::Web::UI::WebControls::ScrollBars get(); void set(System::Web::UI::WebControls::ScrollBars value); };
public virtual System.Web.UI.WebControls.ScrollBars ScrollBars { get; set; }
member this.ScrollBars : System.Web.UI.WebControls.ScrollBars with get, set
Public Overridable Property ScrollBars As ScrollBars
Property Value
One of the ScrollBars enumeration values. The default is None
.
Examples
The following code example demonstrates how to declaratively set the ScrollBars property to Auto
. The panel contains a table, the entire contents of which exceed the size of the panel. This causes both vertical and horizontal scroll bars to be automatically displayed when the panel is rendered. The user can then scroll to view all the data in the table.
Note
The following code sample uses the single-file code model and may not work correctly if copied directly into a code-behind file. This code sample must be copied into an empty text file that has an .aspx extension. For more information on the Web Forms code model, see ASP.NET Web Forms Page Code Model.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
private void Page_Load(object sender, EventArgs e)
{
// Add more rows and columns to the table than can
// be displayed in the panel area.
// Scroll bars will be required to view all the data.
// Add rows and columns to the table.
for (int rowNum = 0; rowNum < 51; rowNum++)
{
TableRow tempRow = new TableRow();
for (int cellNum = 0; cellNum < 11; cellNum++)
{
TableCell tempCell = new TableCell();
tempCell.Text =
String.Format("({0}, {1})", rowNum, cellNum);
tempRow.Cells.Add(tempCell);
}
Table1.Rows.Add(tempRow);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head2" runat="server">
<title>Panel Scrollbars - C# Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h3>Panel.ScrollBars Property Example</h3>
<asp:Panel ID="Panel1" runat="Server"
Height="300px" Width="400px"
BackColor="Aqua" ScrollBars="Auto">
<asp:Table ID="Table1" runat="Server"></asp:Table>
</asp:Panel>
</div>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Private Sub Page_Load(ByVal sender As Object, _
ByVal e As System.EventArgs)
' Add more rows and columns to the table than can
' be displayed in the panel area.
' Scroll bars will be required to view all the data.
' Add rows and columns to the table.
Dim rowNum As Integer
For rowNum = 0 To 50
Dim tempRow As New TableRow
Dim cellNum As Integer
For cellNum = 0 To 10
Dim tempCell As New TableCell
tempCell.Text = _
String.Format("({0}, {1})", rowNum, cellNum)
tempRow.Cells.Add(tempCell)
Next
Table1.Rows.Add(tempRow)
Next
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head2" runat="server">
<title>Panel Scrollbars - VB.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h3>Panel.ScrollBars Property Example</h3>
<asp:Panel ID="Panel1" runat="Server"
Height="300px" Width="400px"
BackColor="Aqua" ScrollBars="Auto">
<asp:Table ID="Table1" runat="Server"></asp:Table>
</asp:Panel>
</div>
</form>
</body>
</html>
The following code example demonstrates how to programmatically set the ScrollBars property. A ListBox control is populated with the ScrollBars enumeration values. The scroll bars displayed in the panel change, based on the value the user selects from the list box.
Note
The following code sample uses the single-file code model and may not work correctly if copied directly into a code-behind file. This code sample must be copied into an empty text file that has an .aspx extension. For more information on the Web Forms code model, see ASP.NET Web Forms Page Code Model.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
private void Page_Load(object sender, EventArgs e)
{
// Add more rows and columns to the table than can
// be displayed in the panel area.
// Scroll bars will be required to view all the data.
// Add rows and columns to the table.
for (int rowNum = 0; rowNum < 51; rowNum++)
{
TableRow tempRow = new TableRow();
for (int cellNum = 0; cellNum < 11; cellNum++)
{
TableCell tempCell = new TableCell();
tempCell.Text =
String.Format("({0}, {1})", rowNum, cellNum);
tempRow.Cells.Add(tempCell);
}
Table1.Rows.Add(tempRow);
}
}
private void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
// Determine which list item was clicked.
// Display the selected scroll bars in the panel.
switch (ListBox1.SelectedIndex)
{
case 0:
Panel1.ScrollBars = ScrollBars.None;
break;
case 1:
Panel1.ScrollBars = ScrollBars.Horizontal;
break;
case 2:
Panel1.ScrollBars = ScrollBars.Vertical;
break;
case 3:
Panel1.ScrollBars = ScrollBars.Both;
break;
case 4:
Panel1.ScrollBars = ScrollBars.Auto;
break;
default:
throw new Exception("Select a valid list item.");
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head2" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h3>Panel.ScrollBars Property Example</h3>
<h4>Select the scrollbars to display in the panel.</h4>
<asp:ListBox ID="ListBox1" runat="Server"
Rows="5" AutoPostBack="True"
SelectionMode="Single"
OnSelectedIndexChanged="ListBox1_SelectedIndexChanged">
<asp:ListItem>None</asp:ListItem>
<asp:ListItem>Horizontal</asp:ListItem>
<asp:ListItem>Vertical</asp:ListItem>
<asp:ListItem>Both</asp:ListItem>
<asp:ListItem>Auto</asp:ListItem>
</asp:ListBox>
<hr />
<asp:Panel ID="Panel1" runat="Server"
Height="300px" Width="400px" BackColor="Aqua">
<asp:Table ID="Table1" runat="Server" />
</asp:Panel>
</div>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Private Sub Page_Load(ByVal sender As Object, _
ByVal e As System.EventArgs)
' Add more rows and columns to the table than can
' be displayed in the panel area.
' Scroll bars will be required to view all the data.
' Add rows and columns to the table.
Dim i As Integer
For i = 0 To 50
Dim tempRow As New TableRow
Dim j As Integer
For j = 0 To 10
Dim tempCell As New TableCell
tempCell.Text = "(" & i & "," & j & ")"
tempRow.Cells.Add(tempCell)
Next j
Table1.Rows.Add(tempRow)
Next i
End Sub
Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, _
ByVal e As EventArgs)
' Determine which list item was clicked.
' Display the selected scroll bars in the panel.
Select Case (ListBox1.SelectedIndex)
Case 0
Panel1.ScrollBars = ScrollBars.None
Case 1
Panel1.ScrollBars = ScrollBars.Horizontal
Case 2
Panel1.ScrollBars = ScrollBars.Vertical
Case 3
Panel1.ScrollBars = ScrollBars.Both
Case 4
Panel1.ScrollBars = ScrollBars.Auto
Case Else
Throw New Exception("Select a valid list item.")
End Select
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head2" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h3>Panel.ScrollBars Property Example</h3>
<h4>Select the scrollbars to display in the panel.</h4>
<asp:ListBox ID="ListBox1" runat="Server"
Rows="5" AutoPostBack="True" SelectionMode="Single"
OnSelectedIndexChanged="ListBox1_SelectedIndexChanged">
<asp:ListItem>None</asp:ListItem>
<asp:ListItem>Horizontal</asp:ListItem>
<asp:ListItem>Vertical</asp:ListItem>
<asp:ListItem>Both</asp:ListItem>
<asp:ListItem>Auto</asp:ListItem>
</asp:ListBox>
<hr />
<asp:Panel ID="Panel1" runat="Server"
Height="300px" Width="400px" BackColor="Aqua">
<asp:Table ID="Table1" runat="Server" />
</asp:Panel>
</div>
</form>
</body>
</html>
Remarks
Use the ScrollBars property to specify the visibility and position of scroll bars in a Panel control. This property is set using one of the ScrollBars enumeration values. The following table lists the possible values.
Value | Description |
---|---|
None |
No scroll bars are shown. |
Horizontal |
Only a horizontal scroll bar is shown. |
Vertical |
Only a vertical scroll bar is shown. |
Both |
Both horizontal and vertical scroll bars are shown. |
Auto |
If necessary, horizontal, vertical, or both scroll bars are shown. Otherwise, no scroll bars are shown. |
If you specify Auto
for the ScrollBars property, scroll bars are automatically shown when the size of the content in a Panel control exceeds the size of the Panel control itself. For example, if a Panel control contains a table, and the panel is not wide enough to display all the rows in the table, a vertical scroll bar is shown. If the size of the table exceeds the height and width of the panel, both vertical and horizontal scroll bars are shown.
Note
This property is supported only on browsers that support HTML 4.0 or later.