1.Button コントロールに関するワンポイントテクニック集(15_But_01) (旧、SampleNo.) |
1.プログラム上からボタンをクリックする 2.ボタンのテキストの配置を設定する 3.ボタンのテキストにアクセスキーを設定する 4.クリック毎に動作を切り替える 5.ボタンの表面にイメージを設定する 6.ボタン上でTAB キー、カーソル移動キー等が押された事を取得する 7.マウスポインターがコントロール上にある時、BackColorを変更する 8. 9. 10. 11. 12. 上記以外に、コントロール共通関係 のところやこれ以外のコントロールのところに書いてある場合もありますので、そちらの方もご覧ください。 |
下記プログラムコードに関する補足・注意事項 動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86 Option :[Compare Text] [Explicit On] [Infer On] [Strict On] Imports :追加なし 参照設定:追加なし その他 : : このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので) 必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい) |
1.プログラム上からボタンをクリックする |
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click '1.プログラム上からボタンをクリックする 'Button.PerformClick メソッド:ボタンの Click イベントを生成します。 Button2.PerformClick() End Sub |
2.ボタンのテキストの配置を設定する |
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click '2.ボタンのテキストの配置を設定する 'ButtonBase.TextAlign プロパティ:ボタンコントロールのテキストの配置を取得または設定します。 If Button2.TextAlign = ContentAlignment.MiddleLeft Then 'テキストを中段中央に配置 Button2.TextAlign = ContentAlignment.MiddleCenter Else 'テキストを下端左寄せに配置 Button2.TextAlign = ContentAlignment.MiddleLeft End If End Sub |
3.ボタンのテキストにアクセスキーを設定する |
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click '3.ボタンのテキストにアクセスキーを設定する '別途、プロパティに直接記入しても OK。(アクセスキーの前に&を記入する) If Button3.Text = "3.ボタンのテキストにアクセスキーを設定する" Then Button3.Text = "3.ボタンのテキストにアクセスキーを設定する(&X)" Else Button3.Text = "3.ボタンのテキストにアクセスキーを設定する" End If End Sub 図1.上記実行結果 |
4.クリック毎に動作を切り替える |
Private butFlag As Boolean Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click '4.クリック毎に動作を切り替える 'Button3 の有効/無効を切り替える Button3.Enabled = Not Button3.Enabled 'Button2 の表示/非表示を切り替える Button2.Visible = Not Button2.Visible '汎用的に使用するなら下記のような方法も butFlag = Not butFlag If butFlag Then Button1.Text = "終了" Else Button1.Text = "1.プログラム上からボタンをクリックする" End If End Sub |
5.ボタンの表面にイメージを設定する |
画像ファイルは、各自準備願います。 Private butFlag As Boolean Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click '5.ボタンの表面にイメージを設定する butFlag = Not butFlag If butFlag Then Button10.Image = System.Drawing.Image.FromFile("..\..\..\data_pic\ZoomIn.png") Else Button10.Image = System.Drawing.Image.FromFile("..\..\..\data_pic\ZoomOut.png") End If End Sub 図2.上記実行結果 |
6.ボタン上でTAB キー、カーソル移動キー等が押された事を取得する |
Private Sub Button6_PreviewKeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles Button6.PreviewKeyDown '6.ボタン上でTAB キー、カーソル移動キー等が押された事を取得する Select Case e.KeyCode Case Keys.Up Button6.Text = "↑ キーが押されました。" Case Keys.Down Button6.Text = "↓ キーが押されました。" Case Keys.Left Button6.Text = "← キーが押されました。" Case Keys.Right Button6.Text = "→ キーが押されました。" Case Keys.Tab Button6.Text = "TAB キーが押されました。" End Select End Sub 特殊キーの状態を取得するの項の 2.TAB キー、カーソル移動キーが押された事を取得する に書いてありますのでそちらをご覧ください。 |
7.マウスポインターがコントロール上にある時、BackColorを変更する |
Private Sub Button7_MouseEnter(sender As Object, e As EventArgs) Handles Button7.MouseEnter '7.マウスポインターがコントロール上にある時、BackColorを変更する 'マウスポインターがコントロール上にある時、BackColorを変更する Button7.BackColor = Color.Red End Sub Private Sub Button7_MouseLeave(sender As Object, e As EventArgs) Handles Button7.MouseLeave '7.マウスポインターがコントロール上にある時、BackColorを変更する 'マウスポインターがコントロールから離れた時、BackColorを元に戻す 'visual スタイルを使用してコントロールを描画しているかを取得 If Application.RenderWithVisualStyles = True Then 'XP visual スタイルを使用して背景を描画する(下記設定はVB2005のみ可) Button7.UseVisualStyleBackColor = True Else 'visual スタイルが有効になっていない場合 Button7.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.Control) End If End Sub |
8. |
9. |
10. |
11. |
12. |
検索キーワード及びサンプルコードの別名(機能名) |