ボタンをフォームに貼り付ける
1 ツールボックス(ツールボックスが開いていない場合は、表示メニューから「ツールボックス」を選択
してください。)から、 Button
をフォーム上のボタンを貼り付けたい位置にドラッグし、ドロップする。
2 フォーム上で、ボタンを表示する大きさの指定は、マウスのドラッグにより行います。
3 デフォルトで、ツリービューのネーミングは、button11、button2、・・・・
の順となりま
す。
|
ボタンの名前を変える
1 フォームイメージが表示されるデザインビューでボタンを選択した状態にし、画面右下のプロパティウィ
ンドウのName欄
の内容を変
更します。プロパティウィンドウ
が表示されない場合は、表示メニューから「プロパティウィンドウ」を選択してください。
※ ツリービューに限らず、ツールボックスから貼り付けたコントロールの名称を、プログラム内から変更することはできません。これは、プロ
グラムがこ
のNameプロパテイでコントロールを区別しているためです。
|
ボタンの大きさを変更する
1 ネーミングと同様に、プロパティウィンドウのSize欄を変更してくださ
い。カンマの左側がツリービューの横幅、右側が縦幅となりま
す。
2 Sizeはプログラムの中から変更することができます。例えば、
button1.Size=New System.Drawing.Size(300, 200);
という具合です。
他のコーディング方法としては、
button1.Width=300;
button1.Height=200;
とする方法があります。
|
ボタンの位
置を変更する
1 プロパティウィンドウのLocation欄を変更して
ください。カンマの左側が画面左端からの位置、右側が画
面上端からの
位置となります。
2 Sizeはプログラムの中から変更することができます。例えば、
button1.Location=New
System.Drawing.Point(20, 15);
という具合です。
他のコーディング方法としては、
button1.Left=20;
button1.Top=15;
とする方法があります。
|
ボタン表示の有無を切り替える
ボタン表示の有無を切り替えるには、Visibleプロパティを用います。
button1.Visible=true; //ボタンを表示
button1.Visible=false; //ボタンを非表示
|
ボタンに文
字を表示する
ボタンに文字を表示するのが、もっともボタン本来の機能です。
button1.Text="これはサンプル
文字です。";
|
ボタンの背
景色を変える
ボタンには、他のコントロール同様にBackColorプ
ロパテイがあります。数字で背景色を指定するときは、R(赤)、G(緑)、B(青)
の順に、0〜255の範囲で値を指定してください。例えば、赤は「255,0,0」、 白は「255,255,255」という具合です。
ピクチャーボックスから、色をクリック指定することもできます。
プログラム上から色指定する場合は、
button1.BackColor=Color.Red;
又は
button1.BackColor=Color.FromArgb(255, 0,0);
という風に指定します。
|
ボタンの描
画色を変える
ボタンテキストの描画色は、ForeColorプロパテイ
で指定します。
プログラム上から色指定する場合は背景色の
設定と同様
に、
button1.ForeColor=Color.Black;
等と指定します。
|
ボタンに画
像を読み込む・ボタンの画像を保存する
ボタンに画像を読み込むもっとも簡単な方
法は、画像ファイルの所在パスを指定して、ImageクラスのFromFileメソッドを利用する方法で
す。
button1.Image = Image.FromFile("画像の所在を示すフルパス") ;
ただし、この方法の欠点は、画像ファイルにロックがかかり、プログラム上の他の部分で画像ファイルを操作しようとするとシステムエ
ラー
が発生することです。
これを避けるためには、BitmapクラスのFromStreamメソッドでストリーム読込みを行うとよいでしょう。
まず、プログラム冒頭で、System.IO名前空間を読み込みます。
using System.IO;
ボタンへの画像の読込みは次のとおりです。
FileStream sr = new
FileStream("画像の所在を示すフルパス",
FileMode.Open,FileAccess.Read);
Bitmap bmp =
(Bitmap)System.Drawing.Bitmap.FromStream(sr); //Bitmapクラスオブジェクトへ読込み
sr.Close();
//ストリームを閉じる
button1.Image=new Bitmap(bmp); //リンクラベルの画像イメージをBitmapオ
ブジェクトから創成
bmp.Dispose(); //Bitmapオブジェクトの廃棄
次にリンクラベル上の画像をファイルに保存する方法を解説します。保存には、Saveメソッドを使用します。
button1.Image.Save("画像を保存するフルパス") ;
画像のフォーマット(形式)を指定して保存するには、次のとおり指定します。フォーマットを指定せずに上記のように保存した場合は、
BMP形式で保存されます。
button1.Image.Save("画像を保存するフルパス",フォーマット名) ;
フォー
マット名
|
説
明
|
ImageFormat.Bmp
|
Bitmap形式で保存(デフォルト)
|
ImageFormat.Jpeg
|
Jpeg形式で保存
|
ImageFormat.Gif
|
Gif形式で保存
|
ImageFormat.Tiff
|
Tiff形式で保存
|
ImageFormat.Png
|
Png形式で保存
|
|
ボタンの画像を縮小して保存する
ボタンにイメージが読み込み済の場合に、そのイメージを縮小してファイルとして保存する方法を解説します。次の例では、ボタンイメージを
横50ピクセル、縦30ピクセルに縮小し、画像ファイルsample.bmpとして保存します。
Bitmap
img=new Bitmap(button1.Image,50,30); //ボタンイメージを伸縮後、Bitmapオブジェクトimgに保存
img.Save("C:\sample.bmp");
|
ボタンの表
示スタイルを変える
ボタンのデフォルトなスタイルは凸形です。FlatStyleプロパティにより、他の形状を選ぶことができます。
選択できる形状は次のとおりです。
コー
ド
|
説
明
|
button1.FlatStyle=Flat; |
実線枠線がついたフラットスタイル
|
button1.FlatStyle=Popup; |
〃
|
button1.FlatStyle=Standard; |
3Dスタイル(ボタン部分が凸型のスタイ
ル)。ボタン画像イメージ表示可
|
button1.FlatStyle=System; |
3Dスタイル(ボタン部分が凸型のスタイ
ル)。ボタン画像イメージ表示不可 |
|
ボタンの表示優先順位を変える
一つのフォーム上に複数のコントロールを配置した場合に、どのコントロールを最前面に表示するのか、プロ
グラムからコントロールしたい場
合があります。このような場合に、表示順位を明示的に宣言します。
button1.BringToFront( ); //最前面に配置する
button1.SendToBack( ); //最後面に配置する
|
ボタンの表示をリフレッシュする
プログラム上でボタンの表示内
容を変更した場合、何らかのイベントでプログラムが一旦停止するまでは、表示内容変更が画面に反
映しない場合があります。
これを避けるには、Refleshメソッドを用います。
button1.Reflesh( ); //ラベルをリフレッシュする
|
ボタンの文字表示位置を変える
ボタンに文字を表示させる場
合、デフォルトでは、リンクラベル内の表示位置は「左上」となります。
この位置の変更方法は次のとおりです。
コー
ド
|
説
明
|
button1.TextAlign=TopLeft;
|
表示位置は左上
|
button1.TextAlign=TopCenter; |
表示位置は中央上 |
button1.TextAlign=TopRight; |
表示位置は右上 |
button1.TextAlign=MiddleLeft; |
表示位置は左中央 |
button1.TextAlign=MiddleCenter; |
表示位置は中央 |
button1.TextAlign=MiddleRight; |
表示位置は右
中央 |
button1.TextAlign=BottomLeft; |
表示位置は左下 |
button1.TextAlign=BottomCenter; |
表示位置は中央下 |
button1.TextAlign=BottomRight; |
表示位置は右下 |
|
ボタンク
リック毎にボタンの背景色を変える
ボタンの代表的イベントはクリックイベントです。ここでは、クリック毎にボタンの背景色を変化させるコードを例示します。
button1.BackColor=Color.White;
private
void button1_Click(object sender, System.EventArgs e)
{
if (button1.BackColor==Color.White)button1.BackColor=Color.Blue;
else button1.BackColor=Color.White;
}
|