ム コントロールの基礎と作り方』

Similar documents
平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラ

Prog2_12th

Prog2_15th

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

Microsoft Word - VB.doc

形から入るWindowsプログラミング入門

VB.NET解説

Prog2_4th

C#の基本

Microsoft Word -

Create!Form V11 - Excel 出力設定

UMLプロファイル 機能ガイド

HP Primeバーチャル電卓

スライド 1

目次 はじめに... 3 システムの必要条件... 4 ライセンス認証... 4 アクティベーション... 6 開発... 7 手順 1. アプリケーションの作成... 7 手順 2. データソースの作成と代入... 7 手順 3. テンプレートの作成 手順 4. レポートビューアの追加

マクロの実行許可設定をする方法 Excel2010 で 2010 でマクロを有効にする方法について説明します 参考 URL:

CodeGear Developer Camp

コードテンプレートフレームワーク 機能ガイド 基礎編

ことばを覚える

Enterprise Architect 12.1 機能ガイド

Delphi/400でFlash動画の実装

XNA Framework

DEP(Data Execution Prevention:データ実行防止)機能に関する制限事項

Install / Protect / Monetize InstallShield 全機能 データシート プロフェッショナルなインストールの作成 PREMIER PROFESSIONAL EXPRESS MSIX パッケージ サポート フレームワークをサポート Windows Installer(

やってみようINFINITY-製品仕様書 品質評価表 メタデータ 編-

Autodesk Inventor 2012 基礎

Design with themes — Part 1: The Basics

Jude を DSL エディタとして使う -Jude API 活用法 年 11 月 14 日稚内北星学園大学東京サテライト校浅海智晴 本日のテーマ Why Jude API What Jude API How Jude API 1

XAML Do-It-Yourself 第 3 回ベントとトリガー XML Do-It-Yourself 第 3 回目は ベント処理とトリガーについて学習します Windows フォームゕプリケーションでは たとえば ボタンが押された というベントに対応する処理 ( ベントハンドラー ) を記述する

目次 1. アニメーションの仕組み 3 2. ワードアートでムービーのタイトルを作成 7 3. まとめ 課題にチャレンジ 19 [ アニメーション ] 機能 PowerPoint に搭載されている [ アニメーション ] 機能を使用すると 文字や図形にアニメーション ( さまざまな動きや

FileExplorer for ASP.NET Web Forms

CodeGear Developer Camp

Microsoft PowerPoint - kakeibo-shiryo1.pptx

VFD256 サンプルプログラム

第 11 講プレゼンテーション 2 / 17 ページ 11-1 プレゼンテーションとは プレゼンテーションとは 限られた時間 空間で第三者に対して何らかの情報を伝達 説明し 理解を深めてもらうこと です 教育研究活動では 研究レポートの発表 研修会の事前説明会など様々な場面でプレゼンテーションが行わ

NetworkVantage 9

(Microsoft Word - 01PowerPoint\217\343\213\211C\203p\203^\201[\203\223\222m\216\257\225\\\216\206.doc)

MultiLABELISTOCX と MultiLABELISTV4 MLOCX は MLV4 のレイアウト発行機能を継承しています したがって MLV4 の振分発行やプ リセット発行を使用するための登録情報は使用できません MLV4 のレイアウト管理でレイアウトを作成すると 拡張子が m lay

3. 文字の入力 文字 ボタンをクリックします 文字入力したい範囲をドラックし 文字枠を作成します 文字を入力します この作業を繰り返します マウスポインタの形 4. 文字枠のサイズ変更 拡大 ボタンをクリックします 大きさを変えたい文字枠をクリックします マウスポインタを文字枠の右下のハンドル (

Prog2_2nd

問題 1 次の文章は 作業環境について述べたものである を解答群 { } より選び その記号で答えよ にあてはまる適切なもの 設問 1. < 図 1>はルーラーの一部である 1に示されるインデントマーカーを移動することにより を設定することができる < 図 1> { ア. 1 行目のインデントイ.

エクセル応用 2016 第 1 章関数の利用 1 作成するブックを確認する 2 関数の概要 3 数値の四捨五入 切り捨て 切り上げを使う 4 順位を求める 5 条件で判断する 6 日付を計算する 7 表から該当データを参照する 第 2 章表作成の活用 1 作成するブックを確認する 2 条件付き書式を

工程’S 9 ヘルプ Excelバーチャート

本テキストの作成環境は 次のとおりです Windows 7 Home Premium Microsoft Excel 2010( テキスト内では Excel と記述します ) 画面の設定 ( 解像度 ) ピクセル 本テキストは 次の環境でも利用可能です Windows 7 Home

各種パスワードについて マイナンバー管理票では 3 種のパスワードを使用します (1) 読み取りパスワード Excel 機能の読み取りパスワードです 任意に設定可能です (2) 管理者パスワード マイナンバー管理表 の管理者のパスワードです 管理者パスワード はパスワードの流出を防ぐ目的で この操作

1

200_CAD(画面回りの機能)の基本操作

Visual Basic Oracle Database 11 Release 1

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

Datalink_summary

問題 1 次の文章は Access データベース およびデータベースの概要について述べたものである にあてはまる適切なものを解答群 { } より選び その記号で答えよ 設問 1. Microsoft Access 2007 データベースのテーブルでは 表す としてデータを { ア. レコードを列 フ

SharpShooter Reports.WPF 基本的な使い方 Last modified on: November 15, 2012 本ドキュメント内のスクリーンショットは英語表記ですが SharpShooter Reports JP( 日本語版 ) では日本語で表示されます

PowerPoint プレゼンテーション

Prog2_6th

アナリシスパターン勉強会 責任関係事例紹介 株式会社オーエスケイ小井土亨 (CBOP COM 分科会主査 ) 2000/07/19 1

テスト 1/7 ページ プレポスト Visual Studio による Windows アプリの開発 ( 基礎編 ) 受講日程受講番号氏名 1.NET Framework に関する記述で 誤っているものを選びなさい 1..NET Framework に含まれる CLR は プログラミング言語に依存し

内容 1 はじめに インストールの手順 起動の手順 Enterprise Architect のプロジェクトファイルを開く 内容を参照する プロジェクトブラウザを利用する ダイアグラムを開く 便利な機能.

POWER EGG V2.01 ユーザーズマニュアル 汎用申請編

OTRS10 他社システムOTRS呼出利用手順書

Microsoft Word - 操作マニュアル(PowerPoint2013)

(Microsoft PowerPoint -

(2)【講義】

- 目次 - 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET 2.0 AJAX Extensions 1.0 のインストール ASP.NET AJAX のWeb アプリケーション開発環境準備 AJAX W

目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 手順 手順 手順 手順 手順 終わりに... 23

[ 学習動画 ] 一覧 学習の閲覧や質問の際にご利用ください 閲覧が終了した動画をチェックして 学習の進行状況を確認しましょう! グラフィックリファレンス 閲覧チェック 動画タイトル 時間 ( 計 20 時 10 分 ) Step1 Illustratorの基本操作 Illustratorの起動と基

4. 下のような画面が表示され 写真を挿入する為に ファイル / ディスク ボタンをクリックします 5. 下のような画面が表示され 挿入する写真を選択し 挿入 ボタンをクリックします ( 写真は Ctrl キー または Shift キーを使うことで 複数枚選択することができます ) (2)

PowerPoint プレゼンテーション

Python によるジオプロセシング スクリプト入門

産能大式フローチャート作成アドインマニュアル

インテル(R) Visual Fortran コンパイラ 10.0

スライド 1

<4D F736F F D205F88EA94CA8CFC82AF5F EE888F88F912E646F63>

目次 1. デジタル押し花の作り方 3 2. デジタル押し花をきれいに仕上げる方法 まとめ 課題にチャレンジ 19 レッスン内容 デジタル押し花 マイクロソフト社のワープロソフト Word 2010( これ以降 Word と記述します ) の図ツールに搭載されている [ 背景

Format text with styles

Microsoft Word - BentleyV8XM_GoogleEarth.docx

StarBoard Software ユーザーズガイド 目次 1. 教育用端末 (imac) の起動と,StarBoard Software の起動 電子黒板の起動 電子黒板の終了 StarBoard Software の使い方..

Source Insight

図 2 Excel スプレッドシートの世界 のウィンドウ 図 3 Visual Basic の世界 のウィンドウ 図 3 の VBA ウィンドウは 図 2 の Excel ウィンドウのメニューの ツール をクリックし 開か れるプルダウンメニューで マクロ /Visual Basic Editor

スライド 1

ARCHI Box iOS版 ヘルプ(お施主様向け)

PowerPoint プレゼンテーション

クラス図とシーケンス図の整合性確保 マニュアル

Visual Studio 2017 RC インストール & ファーストステップガイド 2016 年 11 月 16 日 (V1.0)

目次 はじめに ツールのインストール ソフトウェアを起動する 画像ファイルの選択... 7 位置の調整... 8 背景色の設定 進捗バーの設定 パスワード設定 ユーザー情報の設定 設定

Prog2_6th

Accusoft Pegasus インストール ガイド

Word編Word編7 宛名欄 住所欄を調整する職人編5 差出人登録画面を表示する 住所録の登録が終了したら [ 差出人を作成 編集する ] をクリックし 宛名面を印刷 保存する 1 宛名面を印刷する [ 印刷 ] ボタンをクリックし [ 宛名印刷 ] 画面が表示され印刷範囲を指定し必要に応じて出受

目次 目次 はじめに ライセンスに関して 作成の流れ デザイン作成 基本的なデザイン手順...4 テンプレートの作成...4 デザイン方法...5 機能 サンプルのテンプレートを作成する...6 作成するデザインにつ

Field Logic, Inc. 標準モード 3D モデル作成 配置編 Field Logic, Inc. 第 1 版

Visual Studio Do-It-Yourself 第 9 回ユーザーコントロール 第 6 回のリソースから第 8 回のテンプレートで さまざまな方法でコントロールをカスタマズできるこ とを学びました 今回のテーマであるユーザーコントロールは 既存の一つのコントロールをカスタマ ズするのではな

Microsoft Word - 415Illustrator

レベルアップ詳細情報 < 製品一覧 > 製品名 バージョン < 追加機能一覧 > 管理番号 内容 説明書参照章 カナ文字拡張対応 < 改善一覧 > 管理番号 内容 対象バージョン 説明書参照章 文字列のコピー ペースト改善 ~ 子画面の表示方式 ~ 履歴の詳細情報 ~ タブの ボタン ~ 接続時の管

武蔵12_体験版操作説明書(トラバース計算)

Userコントロール

Prog2_9th

SysMLに関する操作方法について

Visual C++ 使用 C 言語 ワンポイント講座 デバッガで言語文法を理解する M.NET.SC デバッガで言語仕様 ( 文法 ) の実体 ( コンパイラの解釈と振る舞い ) を理解する プログラムでできることを習得する

PowerPoint Presentation

目次 1. プロフィール画像工房の概要 3 2. プロフィール画像の作成 8 3. プロフィール画像の登録 まとめ 27 レッスン内容 プロフィール画像工房 インターネット上に提供されているさまざまなサービス ( これ以降 サービス と記述します ) を利用するときには 利用するユーザー

Transcription:

.NET Framework C# & VB サンプルで学ぶ独自コントロール 基礎から作り方まで Visual Studio 2005 / 2008 対応 Visual Studio 2010 / 2012 コンバート対応 ソースコードは 全バージョンに対応 図解資料マスター (Excel 版 ) 付き 丸山プログラミング塾

サンプルで学ぶ 独自コントロール基礎から作り方まで はじめに コンポーネントとは何? コントロールとは何? 属性 とは何? そもそもデザイン時対応とは何? デザイン時対応はしなくても良いの? デザイン時のデバッグ方法は? プログラム実行時とデザイン時を考慮したカスタムコントロールのプ ログラミングとは? これらの疑問について 基本を解説しながら実験コードとサンプルカ スタムコントロールを用いて解きほぐしていく 用語解説 サンプルカスタムコントロールの紹介 コントロールの基本構造 そして デザイン時対応の概念 - 基礎講座 では 型に対応するエディタの種類をプログラムで検証しその結果を ソースコードとイメージ一覧で紹介する サンプルカスタムコントロールプログラムの全体構造を図解 コントロールクラス本体を図解することで ソースコードの確認作業が格段に向上し デザイン時対応の UI デザインなどの実践的対応をソースコードから学びとれるようになっている デザイン時対応 は コントロールのユーザビリティ向上を目指し よりリッチなデザイン環境を提供するために欠かせない機能である 本書で デザイン時対応 のメカニズム 機能 目的 結果 利用方法 を明らかにする なお ユーザーインターフェイスを備えた コントロール を主として 2

サンプルで学ぶ カスタムコントロールの基本と作り方 (.NET VB/C#) 解説しているが コントロール自体がコンポーネントから派生している ため コンポーネント の開発にも役立つ内容になっている 付属 各種検証用プロジェクトサンプルコード サンプルカスタムコントロールプロジェクト Visual Studio 2005/2008 の両環境 Visual Basic と.NET C# に対応 CButtun 解析資料 (Excel2007) 本書は Visual Studio 2005/2008 Visual Basic または C# の経験者で フォームベースのプログラミングの経験を前提としている したがって 言語の解説および基礎的プログラミングの解説は含まれていない 本書は ノウハウ をテキストにまとめた how to 書であり書籍ではな い 提供は PDF ファイルと付属一式になっている 3

サンプルで学ぶ 独自コントロール基礎から作り方まで 目次 はじめに... 2 目次... 4 用語解説... 10 コンポーネントとは... 10 コントロールとは... 10 デザイナホストとは... 10 デザイン時とは... 11 デザイン時対応とは... 11 再利用を考慮するためには... 11 サンプルカスタムコントロールの機能とデザイン時対応... 13 サンプルコントロール紹介... 13 特徴... 13 デザイナ時の操作... 15 主要なプロパティ一覧と解説... 15 UI 型エディタコーナー値設定ダイアログ... 18 UI 型エディタグラデーションカラー値設定コントロール... 18 型コンバータグラデーションパスの 2 つの座標設定... 18 スマートタグパネル... 20 デザイナ時対応の概念 - 基礎講座... 22 コントロールを作成する前に... 22 Control クラス継承のプログラム構造と解説... 23 プロパティ群... 23 公開メンバ群... 24 4

サンプルで学ぶ カスタムコントロールの基本と作り方 (.NET VB/C#) 非公開メンバ群... 24 公開メソッド群... 25 非公開メソッド群... 25 イベントハンドラ群... 25 デリゲート群... 25 例外群... 25 イベント群... 26 静的 -プロパティ メンバ メソッド群... 26 Control の初期化... 27 ControlStyles 列挙体の一覧... 27 Visual Studio デザイナとプロパティ... 29 デザイナホストとのインターフェイス... 30 フォームデザイナ上でのオペレーション... 30 プロパティウィンドウ上でのオペレーション... 31 ツールバーのカストマイズ... 31 ドキュメントアウトライン... 32 デザイン時対応の機能拡張 ( 概要 )... 33 属性... 34 型コンバータ... 34 UI 型エディタ... 34 メモ... 35 スマートタグパネル... 35 デザイン時対応のメカニズム... 36 メタデータを見る方法 (C# のみ )... 36 メカニズム補足... 39 5

サンプルで学ぶ 独自コントロール基礎から作り方まで デザイン時対応を考慮しなければ問題になること... 40 プロパティウィンドウの表示例 ( 実験 )... 41 プロパティウィンドウでサポートするエディタ一覧... 52 プロパティウィンドウ ( 追加プロパティのみ )... 52 Para_Anchor ( アンカーの編集と選択 )... 53 Para_Bitmap ( リソースの編集と選択 )... 53 Para_BorderSides ( 枠の編集と選択 )... 54 Para_BorderStyle ( 外観の編集 )... 54 Para_Byte (Byte 数値の編集 )... 54 Para_Color ( カラーの編集と選択 )... 54 Para_Colors ( 色の選択 )... 55 Para_DateTime ( 日付の編集と選択 )... 55 Para_FileName ( ファイル名の編集と選択 )... 56 Para_FolderName ( フォルダ名の編集と選択 )... 56 Para_Font ( フォントの選択 )... 57 Para_ICON ( アイコンの選択 )... 57 Para_Image( リソースの選択 )... 58 Para_ImageList (ImageList オブジェクトの選択 )... 58 Para_InnerStruct ( 独自の構造体 )... 58 Para_InnerStructs ( 独自の構造体配列 )... 58 Para_Integer ( 数値の編集 )... 58 Para_Integers ( 数値配列の編集 )... 58 Para_Point (Point 構造体の編集 )... 58 Para_points (Point 構造体配列の編集 )... 59 Para_Rectangle (Rectangle 構造体の編集 )... 59 6

サンプルで学ぶ カスタムコントロールの基本と作り方 (.NET VB/C#) Para_RectangleF (RectangleF 構造体の編集 )... 59 Para_Size (Size 構造体の編集 )... 59 Para_String ( 文字列の編集 )... 59 Para_StringMulti( 文字列の複数行編集 )... 59 Para_Strings ( 文字列配列の編集 )... 60 その他のエディタ ( 実験以外 )... 61 Align( 配置 )... 61 Dock( ドッキング )... 61 Cursor( カーソル )... 61 独自デザイン... 62 型の標準エディタを他のエディタに切り替える方法... 62 型コンバータの作り方... 63 フォームデザイナ上での動的な振る舞いの作り方... 69 フォームデザイナ上での描画と動的 Property 項目の追加... 69 プロパティウィンドウのコマンドの作り方... 72 スマートタグパネルの作り方... 73 CButton のコード解説... 80 CButtun クラス参照関連構成図... 80 クラス解説... 82 CButtun クラス... 82 CButtun クラスの派生元クラス... 82 CButtun の実行時... 82 CButtun のデザイン時対応... 82 非描画領域の透明化について... 83 CButton の解析と要約... 83 7

サンプルで学ぶ 独自コントロール基礎から作り方まで CButtonDesigner クラス... 88 CButtonActionList クラス... 89 dlgcorners クラス... 90 DropdownColorBlender クラス... 91 BlendTypeEditor クラス... 93 cblenditems クラス... 94 cfocalpoints クラス... 95 CornersProperty クラス... 96 DesignerRectTracker クラス... 97 付録... 99 デザイン時のデバッグ方法について... 99 クラスライブラリ... 100 System.Drawing.Design 名前空間... 100 System.ComponentModel.Design 名前空間... 101 System.Windows.Forms.Design 名前空間... 107 System.Windows.Forms.Design.Behavior 名前空間... 110 VB から C# への移植問題... 111 デザイナ対応関連資料... 112 Property の属性... 112 Property の属性サンプルコード... 113 CButtun をさらに良くするためには... 117 Visual Studio ドキュメント... 118 8

サンプルで学ぶ カスタムコントロールの基本と作り方 (.NET VB/C#) 用語解説 9

サンプルで学ぶ 独自コントロール基礎から作り方まで 用語解説 コンポーネントとは.NET では Component クラスから派生されたクラス全般を指す コントロールも Component クラスを継承しているためコンポーネントの一部と解釈できる 本書では コントロールもコンポーネントとして扱っている 平たくいえば DLL アセンブリ全般を指し EXE アセンブリと連携して 動作する再利用できるコードのユニット ( 部品 ) プログラムである し たがって 自力起動能力は持たない コントロールとは.NET では Component クラスを基底にした Control クラスを継承し た DLL アセンブリのことをいう つまり ユーザーインターフェイス を持ったコンポーネントをコントロールと呼ぶ Visual Studio とのデザイン時対応が強化され 独自のインターフェイ スを提供することができる デザイナホストとは Visual Studio のフォームおよびコンポーネント ( コントロール ) に対 するデザイン時機能全般を総称して デザイナホスト と呼ぶ デザイナホストは ツールボックス フォームデザイナ プロパテ ィウィンドウ ドキュメントアウトラインなどの基本機能を提供する コントロールを追加すると ツールボックスに追加されたコントロールを表示する コントロールをフォーム画面に貼り付けると コントロールが持つプロパティリストを取得し プロパティウィンドウに表示 10

サンプルで学ぶ カスタムコントロールの基本と作り方 (.NET VB/C#) する プロパティウィンドウは 取得したプロパティリストから カテゴリ名 プロパティ名 現在値 プロパティ解説 コマンドなどを表示 編集を管理する ドキュメントアウトラインは フォーム上に配置された全コントロールをツリー階層表示し編集を管理する また拡張機能として カスタムコントロールに対して様々な機能を提 供するための仕組み デザイン時対応用のインターフェイス が用意さ れている 本書では この機能を中心に解説する デザイン時とは デザイナホストを利用している状態を デザイン時 と呼ぶ デザイン時対応とは コンポーネントがデザイナホストとのインターフェイスを活用し デ ザイン時における様々なサービスに対する機能拡張を行うことを デザ イン時対応 と呼ぶ 再利用を考慮するためには コンポーネント ( コントロール ) 本体の汎用化が重要なポイントになる 特定のプロジェクトに限定したコンポーネントは汎用性を欠く場合が あるため 他のプロジェクトで使用できない場合が多い 単純なコンポーネントの場合やデザイン時のユーザビリティを意識す る必要がない場合 全く何もしないか プロパティの属性定義を追加す る程度で済む場合が多い 再利用を考慮するためには 固有のプロジェクトではなく 対象を一般化して 用途 機能 振る舞いなどをまとめ上げる必要がある その際 実行時だけでなく デザイン時対応も合わせて設計することが必要になる 11

サンプルで学ぶ 独自コントロール基礎から作り方まで サンプル カスタムコントロールの 機能とデザイン時対応 12

サンプルで学ぶ カスタムコントロールの基本と作り方 (.NET VB/C#) サンプルカスタムコントロールの機能と デザイン時対応 サンプルコントロール紹介 ここで紹介するサンプルは CodeProject サイトにある Custom Button Control with Gradient Colors and Extra Image (VB.NET) で この サンプルは Control クラスからカスタムコントロールを構築している Button Control の基本機能は 標準の Button と同じだが 標準には無い拡張された様々な表現力を備えている 同時に 拡張機能に対するデザイン時への対応もカストマイズされているため カスタムコントロールの学習には最適な素材になっている また グラフィック GDI+ を使ったグラデーション描画なども含まれている なお 上記サイトでの公開版は Visual Basic のみとなっているため 本書作成のため C# 版への移植を行った ( ファイル構成は異なっている ) 本サンプルのライセンスは The Code Project Open License (CPOL) に記載されている ソフトウェアとしての保証は無いが 商用 配布 派生はロイヤリティ不要 ライセンスに従い 付属の VS 2005 Visual Basic 版は サイトに登録されているものを添付している 特徴 形状 - 矩形ボタン 角丸ボタン 丸 楕円ボタン 三角形ボタン 描画 -グラデーション描画による 立体的表現 クリスタル表現など イメージ-2 つのイメージに対応 ボタン内に配置する Image ボタン領域内に配置する Image 13

サンプルで学ぶ 独自コントロール基礎から作り方まで テキスト-テキストの影付き 透過対応 - 画像上に貼り付けても非表示部分は透過される その他 -グラデーションパスの場合 デザイナ上から中心点と焦点位置を操作できる ( プロパティでも可能 ) 1 つのコントロールでこれ だけの表現を行っている プロパティの Enable を false にすると モノクログラデーション表示に切り替わる 14