SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

WebSplitter for .NET

.NETで縮小・展開可能な分割パネルを持ったWebページを作る-その2

スタイルシートを利用して、C1WebSplitterコンポーネントをデザインする

  • X ポスト
  • このエントリーをはてなブックマークに追加

イベントを使ってドラッグを無効にする

 C1WebSplitterコントロールは、クライアント側でイベントを使えるようになっています。このイベント処理は、コントロールのイベントハンドラと違い、クライアント側で呼び出される JavaScript関数を作成し、専用のプロパティにその関数名を設定します。

プロパティ名 イベント発生のタイミング
OnClientSize 分割バーのドラッグを開始するとき
OnClientSized 分割バーのドラッグ終了後
OnClientSizing 分割バーのドラッグ中
OnClientCollapse Panel1が縮小される前
OnClientCollapsed Panel1が縮小されたとき
OnClientExpand Panel1が展開される前
OnClientExpanded Panel1が展開されたとき

 JavaScript関数は、Webフォームのソースページに記述します。この関数には、イベント発生のSenderとなるC1WebSplitterを定義する「ID」とイベントのデータを含む「eventArgs」の2つのパラメータを持たせます。

 例えば、分割バーのドラッグを禁止にしたいときは、Cancelプロパティを「true」に設定します。この関数をJavaScriptで作成し、OnClientSizedプロパティに関数名を設定します。

1

 Webページの「ソース」をクリックし、HTMLのソースコードを表示します。

2

 <body>タグのすぐ下に、「ClientSized」という関数を作成します。中身は、引数「eventArgs」を使って「Cancel 」プロパティを「true」に設定するコードだけです。

<body>
<script type="text/javascript"> 
    function ClientSized(id, eventArgs)
    {
        eventArgs.Cancel = true;
    }
</script>
3

 「デザイン」に戻り、プロパティウィンドウでC1WebSplitterコントロール「C1WebSplitter1」のプロパティを表示し、プロパティ「OnClientSized」に、作成した関数名「ClientSized」を設定します。

 これで、分割バーのドラッグ終了後、分割バーのドラッグ操作はキャンセルされ、分割バーのドラッグからマウスを離すと、分割バーは元の位置に戻るようになります。

分割バーはドラッグできるが元の位置に戻っていく
分割バーはドラッグできるが元の位置に戻ってしまう

 このようにして、イベントに関連するプロパティに、行わせたい処理を書いたJavaScript関数を作成して、その関数名をプロパティの値に設定することで、いくつかのイベント処理を組み込むことができます。

まとめ

 今回は、分割パネルコンポーネント「C1WebSplitter」の便利な使い方を紹介しました。

 コンポーネントのデザインにスタイルシートを使用するので、デザインを変えたいときはスタイルシートを修正・変更するだけで済みますので、Webページのメンテナンスがやりやすくなります。

 デザインに素人の私でも、簡単に分割パネルを持ったWebページを作成できるので、プロのデザイナの方が使えば、もっと魅力的なWebページが作れると思います。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
WebSplitter for .NET連載記事一覧
この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2977 2008/08/29 13:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング