SHOEISHA iD

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

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

現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(SPREAD)

SPREAD for .NET Windows Forms Editionを使った開発の極意

市販コンポーネントのパイオニアSPREAD for .NETの使い方を短時間で習得

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

ダウンロード サンプルソース (53.1 KB)

名前付きスタイルの極意

 SPREAD for .NETの便利な機能の一つに「名前付きスタイル」があります。名前付きスタイルは、HTMLにおけるCSS(Cascading Style Sheet)のようなものです。一意の名前を設定しておくことで、各種スタイルの一元管理ができます。

名前付きスタイルの定義

 名前付きスタイルの定義は、フォームに配置したSPREAD for .NETコントロールのスマートタグから[スタイルの編集]をクリックし、NamedStyleコレクションエディタを起動して行います。

図10 NamedStyleコレクションエディタ
図10 SPREAD for .NETデザイナ

 名前付きスタイルとして定義できるのは、図10にあるように背景色や罫線、セル内での位置など多岐にわたります。また、Parentプロパティには継承元の名前付きスタイル名を指定できるので、親子関係をうまく使って類似スタイルをまとめ上げることも可能です。

名前付きスタイルの使用方法

 定義した名前付きスタイルはセル、行、列などのStyleNameプロパティに指定して使用します。

図11 名前付きスタイルの適用
図11 名前付きスタイルの適用

 名前付きスタイルを割り当てたセル、行、列は、名前付きスタイル側の定義を変えるだけで、対応するスタイルが変化します。

名前付きスタイルによる性能向上

 多数のセルに対して、SPREAD for .NETデザイナなどでセル1つ1つにセル型や罫線を設定していくと、その定義情報が大量に生成されてしまう事があります。

 開発している中で実際にあった例ですが、SPREAD for .NETデザイナで1セルずつ背景色や罫線を指定して25×25程度の表を作成した際、Designer.vbのコード行数が4000行位になりました。しかし、後から名前付きスタイルを使って、1500行くらいに抑えることができました。もちろん、Designer.vbに自動生成された部分の処理時間も異なり、名前付きスタイル未適用時に30msくらいかかっていたものが、適用することで約26msへと短縮(性能向上率約10%)できました。

罫線指定の極意

 Borderプロパティを設定すれば、セルの周りに罫線を引くことが可能です。しかし、手動でプロパティを設定すると、図12の左側の例のようにセルとセルの間の罫線の幅が太くなってしまいます。これは、セルの境界線から見てそれぞれ内側に罫線を引いているため、結果的に2本の罫線が隙間なく表示されてしまい、2倍の太さに見えてしまうからです。

図12 罫線の比較
図12 名前付きスタイルの適用

 この問題を解決するには、隣り合うセルの罫線のどちらか片方だけを引く必要があります。SPREAD for .NETデザイナの罫線の編集では、セル範囲を指定して外枠と内枠ボタンをクリックするだけで、こうした設定が簡単にできます。

図13 セルの範囲を指定して、[外側]と[内側]をクリック
図13 セルの範囲を指定して、[外側]と[内側]をクリック

まとめ

 SPREAD for .NETは多彩な表現を実現するためのさまざまなプロパティを持っていますが、各種エディタやSPREAD for .NETエディタにより、スムーズに設定を行うことが可能です。また、DataSetとの連携も簡単なので、データベースの内容を見やすく一覧表示して更新するような業務アプリ作成において、非常に力となってくれるコンポーネントと言えるでしょう。

製品情報

 

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(SPREAD)連載記事一覧

もっと読む

この記事の著者

初音玲(ハツネアキラ)

 国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。 個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。 Microsoft MVP for Windows Development ブログ:http://hatsune.hatenablog.jp/

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4436 2009/09/30 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング