Panel控件.docx
《Panel控件.docx》由会员分享,可在线阅读,更多相关《Panel控件.docx(10页珍藏版)》请在冰豆网上搜索。
Panel控件
ASP.NET-PanelWeb服务器控件概述
发布时间:
2009-11-25|浏览:
414
编者按:
PanelWeb服务器控件在网页内提供了一种容器控件,您可以将它用作静态文本和其他控件的父级。
一、背景可以将Panel控件用作其他控件的容
PanelWeb服务器控件在网页内提供了一种容器控件,您可以将它用作静态文本和其他控件的父级。
一、背景
可以将Panel控件用作其他控件的容器。
当以编程方创建内容并需要一种将内容插入到页中的办法时,此办法尤为适用。
以下部分描述了可以使用Panel控件的其他办法。
1、动态生成的控件的容器
Panel控件为在运行时创建的控件提供了一个方便的容器。
2、对控件和标记进行分组
对于一组控件和相关的标记,可以通过把其放置在Panel控件中,然后操作此Panel控件的方式将它们作为一个单元进行管理。
例如,可以通过设置面板的Visible属性来隐藏或显示该面板中的一组控件。
3、具有默认按钮的窗体
可将TextBox控件和Button控件放置在Panel控件中,然后通过将Panel控件的DefaultButton属性设置为面板中某个按钮的ID来定义一个默认的按钮。
如果用户在面板内的文本框中进行输入时按Enter,这与用户单击特定的默认按钮具有相同的效果。
这有助于用户更有效地使用项目窗体。
4、向其他控件添加滚动条
有些控件(如TreeView控件)没有内置的滚动条。
通过在Panel控件中放置滚动条控件,可以添加滚动行为。
若要向Panel控件添加滚动条,请设置Height和Width属性,将Panel控件限制为特定的大小,然后再设置ScrollBars属性。
4、页上的自定义区域
可使用Panel控件在页上创建具有自定义外观和行为的区域,如下所示:
·创建一个带标题的分组框:
可设置GroupingText属性来显示标题。
呈现页时,Panel控件的周围将显示一个包含标题的框,其标题是您指定的文本。
说明:
不能在Panel控件中同时指定滚动条和分组文本。
如果设置了分组文本,其优先级高于滚动条。
·在页上创建具有自定义颜色或其他外观的区域:
Panel控件支持外观属性(例如BackColor和BorderWidth),可以设置外观属性为页上的某个区域创建独特的外观。
说明:
设置GroupingText属性将自动在Panel控件周围呈现一个边框。
二、怎样:
向Web窗体页添加Panel控件
1、在“设计”视图中,从工具箱的“标准”选项卡中,将Panel控件拖到页面上。
2、若要创建静态文本,请在控件中单击,然后键入文本。
若要添加控件,请将它们从“工具箱”拖到Panel控件中。
说明:
若要在运行时向Panel控件添加静态文本,则需要创建Literal控件并设置它的Text属性。
然后,可以通过编程方式将Literal对象添加到面板中,办法与添加任何控件相同。
有关添加控件的详细信息,请参见怎样:
以编程方式向ASP.NET网页添加控件。
3、还可以选择拖动面板的边框以调整控件的大小。
说明:
该控件会自动调整自身的大小以显示其所有的子控件(即使它们超出了设置的高度)。
4、另外还可以选择,设置Panel控件的属性(如下表所述),以指定窗格与其子控件的交互方式。
属性
说明
HorizontalAlign
指定子控件在面板内的对齐方式(左对齐、右对齐、居中或两端对齐)。
Wrap
指定面板内过宽的内容是换到下一行,还是在面板边缘处截断。
Direction
指定控件的内容是从左至右呈现还是从右至左呈现。
当在页面上创建与整个页面的方向不同的区域时,此属性非常有用。
ScrollBars
如果已经设置了Height和Width属性以将Panel控件限制为特定的大小,则可以通过设置ScrollBars属性来添加滚动条。
GroupingText
在Panel控件周围呈现边框和标题。
说明:
设置GroupingText属性会导致滚动条不显示(如果您指定了滚动条)。
三、Panel类
Panel控件是其他控件的容器。
当要以编程方式生成控件、隐藏/显示一组控件或本地化一组控件时,该控件尤其有用。
Direction属性对于本地化Panel控件的内容以显示从右到左书写的语言(如阿拉伯语或希伯来语)的文本非常有用。
Panel控件提供了几个属性,使用这些属性可以自定义该控件内容的行为和显示。
使用BackImageUrl属性为Panel控件显示一个自定义图像。
使用ScrollBars属性为控件指定滚动条。
我们下面来模拟一个用户申请的页面。
申请分为四步,第一步输入用户名,第二步输入用户信息,第三步显示确定信息,第四步确认。
如图1至图4
图1
图2
图3
图4
在一般的技术中,我们每一步就需要一个程序用于判断显示,而在如果使用Panel控件,这四步(或者是更多的步骤)都可以合为一个页面搞定。
按照朋友的意思,我把源程序帖出来,下面是程序,由于最近我们的时间较紧,飞刀就不多解释了,请大家自已理解了。
主要是利用Web控件的保值特性:
1
2publicvoidPage_Load(Objectsrc,EventArgse)
3{
4if(!
Page.IsPostBack)
5{
6file:
//初始化Panel
7State["PanelSeed"]=0;
8Panel0.Visible=true;
9Panel1.Visible=false;
10Panel2.Visible=false;
11Panel3.Visible=false;
12}
13}
14publicvoidPrevStep(Objectsrc,EventArgse)
15{
16file:
//大家没有忘记State吧。
17
18stringCurrentPanel="Panel"State["PanelSeed"].ToString();
19State["PanelSeed"]=(int)State["PanelSeed"]-1;
20stringPrevPanel="Panel"State["PanelSeed"].ToString();
21
22file:
//这里注意FindControl的用法
23Panelp=(Panel)FindControl(CurrentPanel);
24p.Visible=false;
25
26p=(Panel)FindControl(PrevPanel);
27p.Visible=true;
28}
29
30publicvoidNextStep(Objectsrc,EventArgse)
31{
32
33stringCurrentPanel="Panel"State["PanelSeed"].ToString();
34State["PanelSeed"]=(int)State["PanelSeed"]1;
35stringNextPanel="Panel"State["PanelSeed"].ToString();
36
37Panelp=(Panel)FindControl(CurrentPanel);
38p.Visible=false;
39
40p=(Panel)FindControl(NextPanel);
41p.Visible=true;
42
43
44if((int)State["PanelSeed"]==2)
45{
46FUserName.Text=UserName.Text;
47FPasswd.Text=Passwd.Text;
48FAddress.Text=Address.Text;
49FZipCode.Text=ZipCode.Text;
50FComment.Text=Comment.Text;
51}
52
53}
54
55
56
57
58
59
60
61
62Panelid="Panel0"runat="server">
63collapse"bordercolor="#111111"width="41%">
64
65
66第一步选择用户名
67
|
68
69用户名:
70
71TextBoxid="UserName"runat="Server"/>
72
73Buttonid="FristNextStep"Text="下一步"runat="server"/>
74
|
75
76
Panel>
77
78Panelid="Panel1"runat="server">
79collapse"bordercolor="#111111"width="41%"height="32">
80
81
82第二步填写用户信息
83
|
84
85用户名:
86
87<%=UserName.Text%>
88
|
89
90密码:
91
92TextBoxTextMode="Password"id="Passwd"runat="server"/>
93
|
94
95确认密码:
96
97TextBoxTextMode="Password"id="RePasswd"runat="server"/>
98
|
99
100地址:
101
102TextBoxid="Address"runat="server"/>
103
|
104
105邮政编码:
106TextBoxid="ZipCode"runat="server"/>
107
|
108
109简介:
110
111TextBoxid="Comment"TextMode="MultiLine"Wrap="True"Rows="10"runat="Server"/>
112
|
113
114
115
116Buttonid="FristPrevStep"Text="上一步"runat="server"/>
117
118Buttonid="SecondNextStep"Text="下一步"runat="server"/>
119
|
120
121
Panel>
122
123Panelid="Panel2"runat="server">
124collapse"bordercolor="#111111"width="41%"height="32">
125
126
127第三步确认用户信息
128
|
129
130用户名:
131
132Labelid="FUserName"runat="Server"/>
133
|
134
135密码:
136
137Labelid="FPasswd"runat="Server"/>
138
|
139
140地址:
141
142Labelid="FAddress"runat="Server"/>
143
|
144
145邮政编码:
146
147Labelid="FZipCode"runat="Server"/>
148
|
149
150简介:
151
152Labelid="FComment"runat="Server"/>
153
|
154
155
156
157Buttonid="SecondPrevStep"Text="上一步"runat="server"/>
158
159Buttonid="FinishStep"Text="完成"runat="server"/>
160
|
161
162
Panel>
163Panelid="Panel3"runat="server">
164collapse"bordercolor="#111111"width="41%">
165
166
167恭喜您,您已经完成了所有的操作
168
169
|
170
171请您.......
172
|
173
174
Panel>
175
176
177
178