ASP.net——一个完整的支持最小化的自定义Panel控件

本文介绍了一个自定义的ASP.NET Panel控件,该控件支持最大化和最小化功能,并详细展示了其属性设置及使用方法。

这是一个完整的自定义控件,事件相应,自定义属性等都有涉及。为了方便,直接从Panel继承。

这是我写的第一个控件(其实我尝试学习和使用ASP.net也只不过三周),如果有什么批评和建议,欢迎联系!

using System;
using System.Data;
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing.Design;

namespace CustomObject
{
    
/// <summary>
    
/// 一个Panel的扩展控件,支持最大化和最小化的缩放。
    
/// 
    
/// ------------------
    
/// 2007/8/30
    
/// 李兰非
    
/// Beat 1
    
/// Thesmallcar@Gmail.com
    
/// ------------------
    
/// 
    
/// 目前完成了主要的功能,对属性窗口进行了最基本的控制,例如对图片选择的属性,增加了路径选择窗口。
    
/// 
    
/// </summary>
    
///


    [DefaultProperty(
"Title")]
    [ToolboxData(
"<{0}:MinimizePanel runat=server></{0}:MinimizePanel>")]
    
public class MinimizePanel : Panel, INamingContainer
    
{
        
public MinimizePanel()
        
{
            IsMinimum 
= false;
            Title 
= "标题";
            Height 
= 100;
            Width 
= 100;
        }


        
--public 属性 : 标题

        
--public 属性 : 最小化标志

        
--public 属性 : 宽度

        
--public 属性 : 高度        

        
--public 属性 : TopLeft图片

        
--public 属性 : TopMiddle图片

        
--public 属性 : TopRight图像

        
--public 属性 : bottom图片

        
--protected 过程 : 界面呈现

        
protected override void CreateChildControls()
        
{
            MinimizeButton.Click 
+= new ImageClickEventHandler(Minimize);
            
this.Controls.Add(MinimizeButton);
        }


        
--protected 事件 : 最小化/最大化切换事件
    }

}

 

使用示例:

例子里的图片自然是显示不出来的。替换成自己相应的图片就可用了。

图片的分布是标题栏三个(左中右),内容区一个(背景),底部一个。

标题栏的三个图片,左和右的两个会影响控件的宽度(以img 来显示的)。底部的那个图片也是。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test2.aspx.cs" Inherits="Test2" %>

<!--注册控件-->
<%@ Register Namespace="CustomObject" TagPrefix="custom" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    
<title>无标题页</title>
    
<link href="Style.css" rel="stylesheet" type="text/css" />
</head>
<body>
    
<form id="form1" runat="server">
        
<br />
        
<br />
        
<div style="text-align: center">
            
<!--使用控件-->
            
<custom:MinimizePanel runat="Server" ID="Test1" Title="测试" BackImageUrl="~/Img/LeftBarBG/LeftBarBG_02.gif"
                CssClass
="Small" Height="" TopLeftImage="Img/LeftBarBG/LeftBarBG_01_01.gif" Width="180px"
                TopMiddleImage
="Img/LeftBarBG/LeftBarBG_01_02.gif" TopRightImage="Img/LeftBarBG/LeftBarBG_01_03.gif"
                BottomImage
="Img/LeftBarBG/LeftBarBG_03.gif">
                测试
                
<br />
                
<br />
                测试
            
</custom:MinimizePanel>
            
<!--控件结束-->
            
        
</div>
    
</form>
</body>
</html>

控件图示:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值