*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

<C#>

「画像をマウスホイールでスクロールして表示<ユーザーコントロール上での扱い方>」のプロジェクト No.1

*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*


「<C#> 画像をマウスホイールでスクロールして表示<ユーザーコントロール上での扱い方>」において、ここでは、ユーザーコントロールその物を作るプロジェクトについて説明します。




 



 

元のページ


 

元ページ「<C#> 画像をマウスホイールでスクロールして表示<ユーザーコントロール上での扱い方>」
http://note.chiebukuro.yahoo.co.jp/detail/n158504

 

記述量上限の制限で、ページを分けて記述しています。




 





 

本ページの次のページ


 

「画像をマウスホイールでスクロールして表示<ユーザーコントロール上での扱い方>」のプロジェクト No.2
http://note.chiebukuro.yahoo.co.jp/detail/n157990

 

記述量上限の制限で、ページを分けて記述しています。







 

はじめに


元ページの「<C#> 画像をマウスホイールでスクロールして表示<ユーザーコントロール上での扱い方>」におけるプロジェクトをここに記述します。
なお、元ページの物は、ユーザーコントロールを作るプロジェクトと、そのユーザーコントロールを使うテスト用プログラムのプロジェクトがあります。
本ページのプロジェクトは、前者のユーザーコントロールを作るプロジェクトです。




 

サンプルコード


ここで取り上げるサンプルは、なるべく複雑にならない範囲で、ユーザーコントロールを確かめられるものとします。






本サンプの仕様概要


 

[画像ファイルの仕様]

画像は、
C:背景.bmp
とします。

 

ただし、画像ファイルの指定は、本プログラム(ユーザーコントロール)ではなく、本プログラムを利用する側のプログラムのほうで指定します。

 

なお、ユーザーコントロール上の画像関係の仕様としては、Imageと言うプロパティに、画像ファイルを設定、及び取得する仕様とします。

 

 

 

[スクロールの仕様]

 

<モード1: 横スクロール>
マウスホイールを回転させると、画像が右、又は左に移動します(回転方向により異なる)。

 

<モード2: 縦スクロール>
マウスホイールを回転させると、画像が上、又は下に移動します(回転方向により異なる)。

 

<モード切り替え>
ScrollModeプロパティをfalseにすると、横スクロール(上記モード1)に切り替わります。
ScrollModeプロパティをtrueにすると、縦スクロール(上記モード2)に切り替わります。

 

[スクロール範囲]

 

<モード1: 範囲オーバー可>
画像をスクロールすると、画像がはみ出すまで移動すること許可する。

 

<モード2: 範囲オーバー不可>
画像をスクロールすると、画像がはみ出さない範囲までしか移動しない。

 

<モード切り替え>
PermitProtrudingプロパティをtrueにすると、範囲オーバー許可(上記モード1)に切り替わります。
PermitProtrudingプロパティをfalseにすると、範囲オーバー不可(上記モード2)に切り替わります。



フォームデザイン等の前準備


コードを記述する前に、プロジェクトの作成などの、以下の前準備を行なって下さい。

<プロジェクトの作成>

本サンプルの確認用に、新規にプロジェクトを作成して下さい。
プロジェクトの種類は、「Windows フォーム コントロール ライブラリ」です。

 

 

なお、本サンプルでは、ScrollImageByMouseWheelと言うプロジェクト名にしました。
ここで作成したユーザーコントロールを利用するプログラム(テスト用プログラム)のほうで、ここで決めたプロジェクト名を使います。
よって、別のプロジェクト名にした場合は、その点を注意して下さい。

<コントロール名の設定、又は確認>

 

デザイン画面のユーザーコントロールが選択されている状態(クリックで選択)で、プロパティ画面を見ます。

そのプロパティ画面の(Name)欄にコントロール名を入力して下さい。

このサンプルでは、デフォルトの UserControl1 と言う名のままとします。

 

 

<フォームのデザイン>

既存のコントロールを貼り付ける等の処理は、特にないです。
よって、デザイン画面で行なう操作は、特にないです。
(後に、コードでデザインを行なうので、ここで行なうことはない)

 

 デザイン画面

 

 

<イベントプロシージャの作成>

特にありません。







コード

 

No.1
http://note.chiebukuro.yahoo.co.jp/detail/n158186

No.2

http://note.chiebukuro.yahoo.co.jp/detail/n158314



コードの解説


サンプルコードの中に書かれていますコメントを読んで下さい。
すなわち、コードの解説は、基本的にサンプルコードの中に書かれているコメントとします。





実行結果


本ページで作成したプログラムは、ユーザーコントロールなので、単独では実行できません。
よって、次のページで作成する予定の、テスト用プログラムで実行して下さい。






さいごに

 

本ページの内容の詳細については、元ページを参照して下さい。