设为首页收藏本站language 语言切换
查看: 1323|回复: 0
收起左侧

全面掌握Panel组件用法

[复制链接]
发表于 2010-2-25 10:21:47 | 显示全部楼层 |阅读模式
<p >anel组件在程序设计中是一个经常使用到的组件,在ASP.NET中Panel组件是以一个服务器端组件的形式出现的,所谓服务器端组件就是这些组件是在服务器端定义产生的。在ASP.NET可以使用的WebForm组件中有许多的服务器端组件,譬如:Table组件、ListBox组件等,虽然这些组件类型不同,但都被封装在命名空间System.Web.UI.WebControls中。Panel组件的一个最大的优点就是,他可以最为一个组件容器,就是在Panel组件中放置其他的WebForm组件,并且随着Panel组件面的变化,放置在Panel组件的其他组件也随之进行同样的变化。举一个简单例子,假定Panel组件放置了三个组件,你只需要隐藏Panel组件,就可以隐藏了另外三个组件了。这一特点,对于编写复杂的ASP.NET程序是比较重要的,因为做为ASP.NET的运行环境的载体是浏览器,如果你在程序中使用Panel组件,你往往就可以在一个浏览器页面中完成处理过程,而这在不使用Panel组件的时候,却往往需要多个浏览器页面才可以达到。这样不仅方便了程序设计人员,更方便了使用者。本文将通过编写一个用Panel组件来实现类似于Delphi中PageControl组件的程序来了解一下Panel组件的使用方法。<p ><ccid_nobr><b>一、程序设计开发及运行环境:</b></ccid_nobr><p ><ccid_nobr><ol><li>微软视窗2000服务器版</li><li>.Net FrameWork SDK Beta 2</li></ol></ccid_nobr><p ><ccid_nobr><b>二、在ASP.NET页面中创建一个Panel组件:</b></ccid_nobr><p >创建一个Panel组件是非常容易的,只需要下列语句就可以创建一个Panel组件了:<p ><ccid_nobr><table width="550" border="1" cellspacing="0" cellpadding="0" bordercolorlight = "black" bordercolordark = "#FFFFFF"><tr><td bgcolor="e6e6e6" class="code">&lt;aspanel id = name runat = &quot;server&quot; &gt;<br>&lt;/aspanel &gt;          </td></tr></table></ccid_nobr><p >如果需要在Panel组件中放置其他的WebForm组件,可以在这二行语句中加入。下列代码是在Panel组件中加入一个ListBox组件:<p ><ccid_nobr><table width="550" border="1" cellspacing="0" cellpadding="0" bordercolorlight = "black" bordercolordark = "#FFFFFF"><tr><td bgcolor="e6e6e6" class="code">&lt;aspanel BackColor = Green height = 100% width = 100% id = Panel2 Visible = false runat = &quot;server&quot; &gt;<br>&lt;aspistBox id = listbox1 runat = &quot;server&quot; &gt;<br>&lt;aspistItem Value = &quot;1&quot; &gt;第一条记录&lt;/aspistItem &gt;<br>&lt;aspistItem Value = &quot;2&quot; &gt;第二条记录&lt;/aspistItem &gt;<br>&lt;/aspistBox &gt;<br>&lt;/aspanel &gt;     </td></tr></table></ccid_nobr><p >如果要放置多个组件,可以在后面一并加入。<p ><ccid_nobr><b>三、Panel组件中经常使用到的属性:</b></ccid_nobr><p >在Panel组件中经常使用到的属性有二个:<p >Visible属性:布尔型,这是Panel组件最常使用的属性,主要功能是定义Panel组件是否可见<p >Controls属性:主要作用是在程序运行中,动态的往Panel组件中加入组件。<p ><ccid_nobr><b>四、利用Panel组件来实现类似于Delphi中PageControl组件的程序:</b></ccid_nobr><p >要想实现PageControl组件的主要功能只通过一个Panel组件是不行的,需要在程序中定义多个Panel组件,在不同的Panel组件中放置一些WebForm组件,然后通过定义Panel组件的"Visible"属性实现到底显示哪个Panel组件,从而达到PageControl组件的大致功能。以下程序(Panel.aspx)就是根据这个思路编写的,具体代码如下:<p ><ccid_nobr><table width="550" border="1" cellspacing="0" cellpadding="0" bordercolorlight = "black" bordercolordark = "#FFFFFF"><tr><td bgcolor="e6e6e6" class="code">&lt;% @ Page Language = &quot;C#&quot; Debug = &quot;true&quot; %&gt;<br>&lt;% @ Import NameSpace = &quot;System.Drawing&quot; %&gt;<br>&lt;html &gt;<br>&lt;head &gt;<br>&lt;title &gt; Panel组件的演示程序 &lt;/title&gt;<br>&lt;script runat = &quot;server&quot; &gt;<br>protected void Page_Load ( object sender , EventArgs e )<br>{<br>anel1 . Visible = true ;<br>}<br>protected void LinkButton_Click ( object sender , EventArgs e )<br>{<br>//首先现隐藏所有的页面<br>HideAllPanels( ) ;<br>//显示Panel1<br>if ( sender == Page1 )<br>{<br>anel1 . Visible = true ;<br>}<br>//显示Panel2<br>if ( sender == Page2 )<br>{<br>anel2 . Visible = true ; <br>}<br>//显示Panel3<br>if ( sender == Page3 )<br>{<br>anel3 . Visible = true ; <br>}<br>}<br>protected void HideAllPanels ( )<br>{<br>anel1 . Visible = false ;<br>anel2 . Visible = false ;<br>anel3 . Visible = false ;<br>age1 . ForeColor = Color . Blue ;<br>age2 . ForeColor = Color . Blue ;<br>age3 . ForeColor = Color . Blue ;<br>}<br>&lt;/script &gt;<br>&lt;/head &gt;<br>&lt;body &gt;<br>&lt;h1 &gt; &lt;center &gtanel组件的演示程序&lt;/h1 &gt; &lt;/center &gt;<br>&lt;form runat = &quot;server&quot; &gt;<br>&lt;table width = 100% height = 100% cellspacing = 0 cellpadding = 0 border = 1 &gt;<br>&lt;tr &gt;<br>&lt;td &gt;<br>&lt;aspinkButton id = Page1 onclick = &quot;LinkButton_Click&quot; runat = &quot;server&quot; Text = 页面01 /&gt; &amp;nbsp;<br>&lt;aspinkButton id = Page2 onclick = &quot;LinkButton_Click&quot; runat = &quot;server&quot; Text = 页面02 /&gt; &amp;nbsp;<br>&lt;aspinkButton id = Page3 onclick = &quot;LinkButton_Click&quot; runat = &quot;server&quot; Text = 页面03 /&gt;<br>&lt;td &gt;<br>&lt;/tr &gt;<br>&lt;tr &gt;<br>&lt;td width = 100% height = 100% &gt; <br>&lt;aspanel BackColor = Red height = 100% width = 100% id = Panel1 Visible = false runat = &quot;server&quot; &gt;<br>&lt;h1 &gt;页面01&lt;/h1 &gt;<br>&lt;asp:TextBox Text = &quot;第一个页面&quot; runat = &quot;server&quot; /&gt;<br>&lt;/aspanel &gt;<br>&lt;aspanel BackColor = Green height = 100% width = 100% id = Panel2 Visible = false runat = &quot;server&quot; &gt;<br>&lt;h1 &gt;页面02&lt;/h1 &gt;<br>&lt;aspistBox id = listbox1 runat = &quot;server&quot; &gt;<br>&lt;aspistItem Value = &quot;1&quot; &gt;第一条记录&lt;/aspistItem &gt;<br>&lt;aspistItem Value = &quot;2&quot; &gt;第二条记录&lt;/aspistItem &gt;<br>&lt;/aspistBox &gt;<br>&lt;/aspanel &gt;<br>&lt;aspanel BackColor = Yellow height = 100% width = 100% id = Panel3 visible = false runat = &quot;server&quot; &gt;<br>&lt;h1 &gt;页面03&lt;/h1 &gt;<br>&lt;/aspanel &gt;<br>&lt;/td &gt;<br>&lt;/tr &gt;<br>&lt;/table &gt;<br>&lt;/form &gt;<br>&lt;/body &gt;          </td></tr></table></ccid_nobr><p >下面这些图是程序运行的界面,怎么样,是否还真的有点类似于PageControl组件,具体如下:<p ><ccid_nobr><center><img  src="http://www.hh010.com/upload_files/article/244/9_bjwtkc10682.gif"><br>图01:点击"页面01"所得到的界面</center></ccid_nobr><p ><ccid_nobr><center><img  src="http://www.hh010.com/upload_files/article/244/9_7cjrqk10683.gif"><br>图02:点击"页面02"所得到的界面</center></ccid_nobr><p ><ccid_nobr><center><img  src="http://www.hh010.com/upload_files/article/244/9_7suswq10684.gif"><br>图03:点击"页面03"所得到的界面</center></ccid_nobr><p ><ccid_nobr><b>五、总结:</b></ccid_nobr><p >至此就完全介绍了Panel组件的属性和一些重要的使用方法。由于在ASP.NET页面中可以使用的组件比一般程序设计中使用的组件要少许多,所以只有通过这些为数不多的组件来实现更多的组件功能。灵活使用Panel组件就可以达到这样的目标。<p >(责任编辑 <ccid_nobr>尤北</ccid_nobr>)                                 <p align="center"></p></p>
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-10 16:59 , Processed in 0.094927 second(s), 21 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表