[ TabControl ] タブページ情報コレクション機能を持ったタブコントロール(TabControl)自動生成ライブラリ

【概要】

  System.Web.UI.WebControls.WebControl をベースにした、 ASP.NET 用のカスタムコントロールです。タブページ情報(TabPage)コレクションに設定された情報を基に、ページ切替え用の TabControl (タブコントロール)を自動生成するクラスライブラリです。


【特徴】

  ・デザイナに対応し、Webフォームページのデザイン画面のプロパティにより、タブページの各項目の設定ができます。
 ・タブコントロールの各ページ情報は、コレクションエディタにより、ページ単位に追加・編集・削除ができます。
  また、設定された情報は、サーバコントロールのタグ内に、入れ子として情報の永続化ができます。
 ・カレントページ機能により、カレントページの表現を他のページと変えて設定することができます。
 ・カレントページ番号により、カレントページをダイナミックに設定することができます。
  これにより、ユーザーコントロール等を利用した、ページヘッダーの共通化が実現でき、メンテナンスも容易になります。
ダウンロード (TabControl.lzh、3.99KB : C#.NETソースコード)
【使い方】
 タブコントロールをWebフォームに設定するには、以下の様に記述します。
<!--
  @Registerディレクティブにより、カスタムコントロールライブラリにエイリアス(cc1)を関連付けます。
 これにより、サーバコントロール内で、簡素な表現(cc1:xxxxxxx)でクラスライブラリを参照できます。
-->
<%@ Register TagPrefix="cc1" Namespace="OsWebCustomControl" Assembly="OsWebCustomControl" %>

<!--
 タブコントロールの記入例

  コントロールの各プロパティは、デザイン画面で設定することで、追加・編集・削除できます。
  また、タブページ情報(TabPage)も、コレクションエディタにより、ページ単位に追加・編集・削除ができます。
-->
<cc1:tabcontrol id="TabControl1" CurrentPage="2" ImgBase="img\Base.gif" ImgMiddle="img\Middle.gif"
        ImgCurrentBase="img\Base_C.gif" ImgRightEnd="img\RightEnd.gif" ImgCurrentRightEnd="img\RightEnd_C.gif"
        ImgCurrentRight="img\Right_C.gif" ImgCurrentLeft="img\Left_C.gif" Height="25px" ImgRightEndWidth="20px"
        ImgMiddleWidth="20px" CurrentFont-Bold="True" runat="server" ImgCurrentLeftEnd="img\LeftEnd_C.gif"
        ImgLeftEnd="img\LeftEnd.gif" ImgLeftEndWidth="5px">
        <cc1:TabPage Name="項目1" Width="60px" Url="WebForm1.aspx"></cc1:TabPage>
        <cc1:TabPage Name="項目2" Width="60px" Url="WebForm2.aspx"></cc1:TabPage>
        <cc1:TabPage Name="項目3" Width="60px" Url="WebForm3.aspx"></cc1:TabPage>
        <cc1:TabPage Name="項目4" Width="60px" Url="WebForm4.aspx"></cc1:TabPage>
</cc1:tabcontrol>


【使い方】
 共通ヘッダーとして、ユーザーコントロールに設定して用いる場合。
// 上記の方法で、ユーザーコントロールにタブコントロールを設定します。
// その他、必要に応じて共通のヘッダー情報を設定します。
// 
// このユーザーコントロールを各ページに配置したとき、タブコントロールにカレントページ番号を設定する為、
// ユーザーコントロールに以下のプロパティを設けます。


/// <summary>
///  タブページ番号を取得または設定します。
/// </summary>
[Description("タブページ番号を取得または設定します。"), Category("データ")]
public int PageNumber
{
    get {return TabControl1.CurrentPage;}
    set {TabControl1.CurrentPage = value;}
}



// 各Web フォーム ページのソースファイル(コードビハインドファイル)の「Page_Load」イベントメソッドに、
// 自身のページ番号を設定します。(例:ページ番号1)
// 
// ComHeader1 : 共通ヘッダー(ユーザーコントロール)


/// <summary>
/// Web フォーム ページが Page オブジェクトに読み込まれると発生します。
/// </summary>
private void Page_Load(object sender, System.EventArgs e)
{
    ComHeader1.PageNumber = 1;
}
【 TabControl 】 タブコントロール
カスタムプロパティ 説  明
BackColor タブコントロールの背景色を取得または設定します。
CssClass タブのカスケード スタイル シート (CSS: Cascading Style Sheet) クラスを取得または設定します。
CurrentCssClass カレントタブのカスケード スタイル シート (CSS: Cascading Style Sheet) クラスを取得または設定します。(未設定の場合は、CssClassを参照します。)
CurrentFont カレントタブに関連付けられたフォント プロパティを取得します。(未設定の項目は、Fontを参照します。)
CurrentForeColor カレントタブのテキスト表示色を取得または設定します。(未設定の場合は、ForeColorを参照します。)
CurrentPage カレントのタブページ番号を取得または設定します。
Enabled Web サーバー コントロールを有効にするかどうかを示す値を取得または設定します。
EnableViewState サーバー コントロールが、そのビューステートおよび格納している子コントロールのビューステートを、要求しているクライアントに永続化させるかどうかを示す値を取得または設定します。
Font タブに関連付けられたフォント プロパティを取得します。
ForeColor タブのテキスト表示色を取得または設定します。
Height タブコントロールの表示高さを取得または設定します。
ImgBase タブ項目の背景に表示するイメージを取得または設定します。
ImgCurrentBase カレントタブ項目の背景に表示するイメージを取得または設定します。(未設定の場合は、ImgBaseを参照します。)
ImgCurrentLeft カレントタブの左側に表示するイメージを取得または設定します。(未設定の場合は、ImgMiddleを参照します。)
ImgCurrentLeftEnd カレントタブの左端に表示するイメージを取得または設定します。(未設定の場合は、ImgLeftEndを参照します。)
ImgCurrentRight カレントタブの右側に表示するイメージを取得または設定します。(未設定の場合は、ImgMiddleを参照します。)
ImgCurrentRightEnd カレントタブの右端に表示するイメージを取得または設定します。(未設定の場合は、ImgRightEndを参照します。)
ImgLeftEnd タブの左端に表示するイメージを取得または設定します。
ImgLeftEndWidth タブの左端に表示するイメージの幅を取得または設定します。
ImgMiddle タブ間に表示するイメージを取得または設定します。
ImgMiddleWidth タブ間に表示するイメージの幅を取得または設定します。
ImgRightEnd タブの右端に表示するイメージを取得または設定します。
ImgRightEndWidth タブの右端に表示するイメージの幅を取得または設定します。
Pages タブページ情報コレクションを表すオブジェクトを取得します。
Width タブコントロールの表示幅を取得または設定します。

カスタムイベント 説  明
【 TabPage 】 タブページ情報
カスタムプロパティ 説  明
Name タブ名称を取得または設定します。
Url リンクするページのURLを取得または設定します。
Width タブの表示幅を取得または設定します。

【補足】

  上記プロパティ/イベントには System.Web.UI.WebControls.WebControl と共通する内容は含んでいません。
【利用法】
 このライブラリは、システム開発に利用できるように、ASP.NET 上のクラスライブラリとして作られています。
単独の DLL として参照設定して利用するか、プロジェクト内に追加して利用してください。
【注意】 このライブラリを利用する場合、利用規約を確認してください。
Home | Library | 戻る