Visual Basic 初級講座 |
Visual Basic 中学校 > 初級講座 >
第16回 コントロールの鳥瞰
今回からは数回にわたって「コントロール」に焦点をあてて解説をします。今までで既にボタンやテキストボックス・ラベルなどいくつかのコントロールが登場しましたが、今回はそれらも含めてすべての標準コンロールについて使い道や機能、具体的な使用方法を説明します。
この回の要約 ・全ての標準コントロールの簡単な紹介 |
コントロールはVBのプログラムになくてはならない重要な部品です。代表的なものに、テキストボックスやラベル、ボタンなどがあります。フォームもコントロールの一種です。またコントロールはクラスの一種です。
コントロールにはフォームに貼り付けて使うものと、フォームに貼り付けないで使うものがあります。たとえば、テキストボックスやボタンなどは当然フォームに貼り付けて使いますが、タイマーやOpenFileDialog(読み方:OpenFileDialog = オープンファイルダイアログ)などはフォームに貼り付けることができません。
試しにツールボックスに並んでいるタイマーのアイコンをダブルクリックすると、フォームではなく、フォームの下の部分にコントロールが表示されるのが分かります。
それから、Webアプリケーション開発に使用するコントロールは同じ名前のものであってもここで説明しているコントロールとは関係ありません。これらは全然別物ですのでご注意ください。ここではWindowsアプリケーション開発に使用するコントロールを対象としています。
今回ははじめてコントロールをテーマにして説明していますので、ざっと標準のコントロールについて紹介します。どんなコントロールがあるのかちらっとでも知っておくことは重要です。
Label | ラベル | 文字の表示 | |
WebBrowsser | ウェブブラウザー | VB2005以降。htmlファイルをはじめさまざまなファイルを表示できる |
数あるコントロールの中でも文字を表示することが専門のコントロールはラベル(Label)だけです。表示だけが目的の場合はまずラベルの使用を検討します。
また、ラベルを細くすることによって線を表現したり、文字を表示させないで四角形を表現させることもできます。 最もよく使うコントロールの一つです。
WebBrowserコントロールはVB2005以降で使用可能ですが、VB.NET2002, VB.NET2003でもActiveXに参照設定することにより同様の機能を使うことができます。この詳細については今回は説明しません。
TextBox | テキストボックス | 文字の入力 | |
RichTextBox | リッチテキストボックス | 書式付での文字の入力 | |
MaskedTextBox | マスクドテキストボックス | VB2005以降。自動入力制限つきで文字を入力できる |
ユーザーがキーボードから自由に入力できるコントロールはテキストボックスとリッチテキストボックスです。ほとんどの場合テキストボックスを使用しますが、ワープロのように部分的に色を変えたり、フォントを変えたりなど豊富な表現力が必要な場合はリッチテキストボックスを使用します。
■画像1:RichTextBoxの使用例 。このように文字に色をつけたり、サイズを変えたり、斜体にしたりといろいろできる。
RichTextBoxを使って現在選択されている文字を赤の太字にするには次のようにします。
Dim
currentFont As Font =
RichTextBox1.SelectionFont RichTextBox1.SelectionColor = Color.Red RichTextBox1.SelectionFont = New Font(currentFont.FontFamily, currentFont.Size, FontStyle.Bold) |
■リスト1:RichTextBoxで選択されている文字の色を赤の太字にする例。
ただし、豊富な表現力が必要な場合でも「表示」のみで足りる場合はWebBrowserコントロールを使用します。実際のところリッチテキストボックスの使用が適切な場面はほとんどありません。
MaskedTextBoxはVB2005以降で使用可能です。このコントロールはユーザーに「自由に」入力させるのではなく、入力に制限をつけることができます。たとえば、「A-123」や「B-250」のように決まった形式で入力して欲しい場面がよくあります。MakedTextBoxはこのような形式をあらかじめMaskプロパティ(読み方:Mask = マスク)に設定しておくことによってユーザーにその形式を強制することができます。
なお、上記で例としてあげた「A-123」や「B-250」を表現するにはMaskプロパティに「?-000」と設定します。
Button | ボタン | よくある「ボタン」。 | |
CheckBox | チェックボックス | 複数選択可能。 | |
DomainUpDown | ドメインアップダウン | 複数の候補の中から文字列を選択させる。 | |
LinkLabel | リンクラベル | インターネットによくある「リンク」のような機能。 | |
NumericUpDown | ニューメリックアップダウン | 数字を選択させる。 | |
RadioButton | ラジオボタン | 複数の中から1つを選択させる場合に使う。 |
ユーザーに選択させることが目的のコントロールは豊富に用意されています。最もよく使うのがボタンです。
CheckBoxは複数の候補の中から1つ以上をユーザーに選択させることができます。
以下はCheckBoxの使用例です。実際にマウスでチェックできます。
RadioButtonは複数の候補の中から1つだけをユーザーに選択させることができます。
以下はRadioButtonの使用例です。実際にマウスでチェックできます。
NumericUpDownは複数の数字の中から、DomainUpDownは複数の文字列の中から1つをユーザーに選択させます。
■画像2:NumericUpDownの使用例
LinkLabelはWebサイトの「リンク」のような機能を提供しますが、プログラムからいろいろと制御することができます。
■画像3:LinkLabelの使用例
次のプログラムはLinkLabelをクリックするとWebサイトを表示する例です。
Private
Sub Form1_Load(ByVal
sender As System.Object,
ByVal e As System.EventArgs)
Handles MyBase.Load LinkLabel1.Links.Add(0, LinkLabel1.Text.Length, "www.excite.co.jp") End Sub |
Private Sub
LinkLabel1_LinkClicked(ByVal sender
As System.Object, ByVal
e As
System.Windows.Forms.LinkLabelLinkClickedEventArgs)
Handles LinkLabel1.LinkClicked System.Diagnostics.Process.Start(e.Link.LinkData) End Sub |
■リスト2
CheckedListBox | チェックドリストボックス | チェックボックスつきの一覧表示。 | |
ComboBox | コンボボックス | ドロップダウン可能な一覧表示。入力も可能。 | |
DataGrid | データグリッド | 一覧表形式での表示・入力が可能。データベースとの連動が得意。 | |
DataGridView | データグリッドビュー | VB2005以降。詳細不明。DataGridのようなもの? | |
ListBox | リストボックス | 単純な文字の一覧表示。 | |
ListView | リストビュー | 4つの表示モードが選べる多機能な一覧表示。 | |
PropertyGrid | プロパティグリッド | VB2005以降。プロパティウィンドウ。実際のプロパティと連動可能。 | |
TreeView | ツリービュー | ツリー形式での表示。フォルダツリーの表示等に最適。 |
表や一覧形式で表示するためのコントロールもさまざまなものが用意されています。
DataGridは表形式で表示・入力するためのコントロールですが、なれないと使い方が難しいです。またExcelのようなこった機能を実現することはできません。
■画像4:DataGridの使用例。
VB2005以降ではさらに使いやすくなり機能が追加されたDataGridViewコントロールがあります。標準的にはそちらのDataGridViewコントロールを使用することになり、DataGridは人々の記憶の中に忘れ去られていくことが運命づけられています。
ListBox, CheckedListBox, ComboBoxは基本的な使い方が同じです。
次のプログラムはListBoxに項目を追加しますが、CheckedListBoxでもComboBoxでも全く同じようにして項目を追加することができます。
ListBox1.Items.Add("平安時代") ListBox1.Items.Add("鎌倉時代") ListBox1.Items.Add("南北朝時代") ListBox1.Items.Add("室町時代") |
■リスト3
■画像5:ListBoxの使用例
CheckedListBoxはListBoxに行ごとにチェックをオン・オフできる機能が追加されたものです。CheckBoxつきのListBoxといったところです。
■画像6:CheckedListBoxの使用例
ComboBoxは、ListBoxと似ていますが、狭い場所でも表示できるように工夫されていて、ユーザーがドロップダウンしない限り一覧は表示されません。また、ComboBoxにはTextBoxと同じように入力することもできます。もちろん入力できないようにすることもできます。この辺りの制御はDropDownStyleプロパティ (読み方:DropDownStyle = ドロップダウンスタイル)を通して行います。
■画像7:ComboBoxの使用例。左は平常時。右はマウスでドロップダウンしたところ。
ListViewは、さまざまな一覧表示機能を提供します。4つの表示形式をサポートし、Windowsのフォルダの表示と同じようすることも可能です。
■画像8:ListViewの使用例
この画像は一覧表形式で表示しているところです。このほかにもアイコン形式などが選択できます。
TreeViewはツリー表示を行います。これもWindowsのエクスプローラのフォルダツリーのようなものです。
■画像9:TreeViewの使用例
次のプログラムはTreeViewを使ってフォルダツリーを作る例です。単純化するためにシンプルですが、項目ごとにアイコンを表示させたりもできます。アイコンを表示させる場合は後で紹介するImageListと連動させることになります。
Private
Sub Button1_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles Button1.Click
For
Each Drive As
String In
IO.Directory.GetLogicalDrives TreeView1.SelectedNode = TreeView1.Nodes(1) End Sub |
Private Sub
TreeView1_AfterSelect(ByVal sender
As System.Object, ByVal
e As System.Windows.Forms.TreeViewEventArgs)
Handles TreeView1.AfterSelect Try Dim oFolder As New IO.DirectoryInfo(e.Node.FullPath)
For Each Folder
As IO.DirectoryInfo In
oFolder.GetDirectories Catch
ex As Exception |
■リスト4
PropertyGridはVB2005から導入されました。VBのプロパティウィンドウと同じ機能を提供します。これをフォームに貼り付けると実行時にプロパティ一覧を編集すること もできますし、専用のデザイナ画面で活用することもできます。大変便利なコントロールですので、クラスライブラリやフレームワークの作成者は機能の概要は知っておくべきです。
DataGridViewもVB2005からの登場です 。VB2005以降では標準的に使用されるグリッドコントロールでう。DataGridの使い勝手を良くし たうえに機能が追加されています。
PictureBox | ピクチャーボックス | 画像を表示する |
画像表示専用のコントロールはPictureBoxです。PictureBox以外でもフォームやボタンなどさまざまなものに画像を表示することは可能ですが、PictureBoxはその機能専門です。
画像の伸縮表示もできます。
なお、VB6のPictureBoxにはコンテナとしての機能もありましたが、VB.NET2002以降のPictureBoxは画像を表示する機能しかありません。
Form | フォーム | コントロールを配置するための基本的なコントロール。 | |
FlowLayoutPanel | フロゥレイアウトパネル | VB2005以降。隅から順にコントロールを自動配置するコンテナ。 | |
GroupBox | グループボックス | RadioButtonをグループ化するのによく使う。 | |
Panel | パネル | 単純なコンテナ。Splitterとともに使われることが多い。 | |
SplitContainer | スプリットコンテナ | VB2005以降。領域サイズ変更機能付きコンテナ。 | |
TabControl | タブコントロール | タブページ切り替え機能付きコンテナ。 | |
TableLayoutPanel | テーブルレイアウトパネル | VB2005以降。表形式にコントロールを自動配置するコンテナ。 | |
ToolBar | ツールバー | ツールバーのためのコンテナ。 |
コントロールをまとまりとして扱うためのコントロールも用意されています。その代表はフォームです。
コントロールをまとまりとして扱うコントロールのことを「コンテナ」と呼ぶ場合もあります。まとまりとして扱う利点はプロパティの制御が一行でできる点にあります。たとえば、Panelの中に10個のテキストボックスを配置したとしてもそのPanelのVisibleプロパティをFalseにすることで、10個のテキストボックスをすべて非表示にすることができます。
また、Dock(読み方:Dock = ドック)やAnchor(読み方:Anchor = アンカー)などの自動配置のプロパティとコンテナを組み合わせることにより、より楽に自動配置を行える場合もあります。コントロールの自動配置については初級講座第18回 コントロールの配置 で解説します。
Panelはまさに単純なコンテナ機能を提供します。Panelの中にテキストボックやボタンなどのコントロールを配置することができます。
GroupBoxはRadioBoxをグループ化するのに良く使われますが、通常のコンテナとしても利用可能です。
■画像10:GroupBox
画像をみるとわかるようにGroupBoxを囲むように細いへこみ線が描かれます。このへこんだ線だけが目的でGroupBoxを使う場合もあります。
TabControlはよくあるWindowsのプロパティ画面のように1つの画面の中でタブページを切り替えられるようにするコントロールです。下の画像みれば一目瞭然でしょう。
■画像11:TabControl
ToolBarはツールバーを表現するのに使用しますが、現在のところ私にはあまりメリットが感じられません。Officeシリーズのツールバーのように高機能にしてもらいたいものです。
SplitContainerはVB2005以降で使用可能です。フォームの中で領域をわけてマウスで自由に領域の大きさを変られるようにします。文字にすると分かりにくいですがよくある機能です。Windowsのエクスプローラの左側のフォルダツリーと右側のフォルダの内容の領域を真ん中の縦線の位置をマウスでずらすことにより自由に大きさを変更できるのと同じです。
なお、VB.NET2002と、VB.NET2003ではこの機能はSplitterによって実現されます。
FlowLayoutPanelとTableLayoutPanelもVB2005から導入されるコントロールで、内部のコントロールを自動配置するコンテナです。自動配置の利点は、フォームの大きさが変更されてもコントロールが自動的にならびかわる点ですが、自動配置にはもっと便利な別の機能(DockプロパティとAnchorプロパティ)が用意されているので、この2つの出番はあまり多くないようです。
ContextMenu | コンテキストメニュー | 右クリックしたときのメニューを表示するためのコントロール。 | |
MainMenu | メインメニュー | 画面上部によくある[ファイル]や[編集]、[表示]のようなメニューを表示するためのコントロール。 |
メニューもコントロールの一種です。通常のメニューを表現するにはMainMenuを、右クリックしたときに表示されるポップアップ(コンテキストメニュー)を表示するにはContextMenuを使用します。
MainMenuはツールボックスでMainMenuをダブルクリックすると自動的に配置され、その後は独特のデザイン手段を使って構成していくことになります。このデザイン手段については後日説明するつもりですが、直感的でとても分かりやすいものです。
ContextMenuは配置後、各コントロールのContextMenuプロパティに指定しないと有効になりません。また具体的なメニューの内容はMainMenuと同様に独特のデザイン手段を使って構成します。
HelpProvider | ヘルププロバイダー | F1キーが押されたときに自動的にヘルプを表示してくれる。 | |
ToolTip | ツールチップ | マウスを移動したときに自動的にツールチップを表示してくれる。 |
HelpProviderはヘルプを表示するのを助けてくれるコントロールです。HelpProviderを使用するとコードを1行も書くことなく、プログラムにヘルプを組み込むことができます。
ただし、HelpProviderにはヘルプファイルを作ってくれる機能はありません。ヘルプファイルは 別にあらかじめ作成しておく必要があります。ヘルプファイルを作成するにはマイクロソフト社の「HTML Help Workshop」(HTML ヘルプ ワークショップ)を使用しますが、他のソフトでも作成可能です 。最近ではXMLコメントからヘルプファイルを自動的に生成してくれるNDocを使用している方も多いようです。XMLコメントについては初級講座第43回 プログラムの質をご覧ください。
Test.chmというヘルプファイルがある場合、HelpProviderのHelpNamespaceプロパティ(読み方:HelpNamespace = ヘルプネームスペース)にそのファイルを指定し、テキストボックスの「HelpProvider1のShowHelp」プロパティをTrueに設定するだけで、そのテキストボックスでF1キーが押された場合に自動的にヘルプが表示されます。
なお、HelpProviderを配置した時点で自動的に各コントロールにHelpProviderと連動するためのプロパティが追加されます。
他のプロパティも設定することで表示されるページなどを制御することも可能です。
ToolTipはマウスをあわせた時に簡単に表示されるヘルプを表しています。このヘルプは「ヒント」、「ツールチップ」などと呼ばれます。
■画像12:ToolTipが動作しているところ
ToolTipも配置後、各コントロールのプロパティにToolTipと連動するためのプロパティが追加されるので、たとえば、テキストボックスの「ToolTip1 の ToolTip」プロパティを「テスト」とするだけで、実行時にそのテキストボックスにマウスを移動すると「テスト」というツールチップが表示されるようになります。
DateTimePicker | デイトタイムピッカー | 日付を入力・選択するためのコントロール。 | |
MonthCalendar | マンスカレンダー | 日付を選択するためのコントロール。 |
日付を選択するためには高機能なコントロールが用意されているので積極的に利用しましょう。これらのコントロールは配置するだけで自動的に機能します。
MonthCalendarは文字通りカレンダーです。ユーザーはカレンダーの中から特定の日付を選択することができます。
■画像13:MonthCalendar。DateTimePickerもドロップダウンすると同じものが表示される。
DateTimePickerは普段は日付を文字でコンパクトに表示していますが、マウスでドロップダウンするとカレンダーが表示されます。
HScrollBar | 水平スクロールバー | 横方向の量を調節。スクロールによく使用される。 | |
ProgressBar | プログレスバー | 進行状況表示によく使用される。表示専用。 | |
TrackBar | トラックバー | 一般的な量の調整に使用される。目盛りつき。 | |
VScrollBar | 垂直スクロールバー | 縦方向の量を調節。スクロールによく使用される。 |
量を調節するコントロールの代表はスクロールバーです。スクロールバーには横方向である水平スクロールバーのHScrollBarと、縦方向である垂直スクロールバーVScrollBarが用意されています。
通常は名前どおり何かのスクロールと関連付けて使用しますが、どのように使用する場合でもプログラムで制御する必要があります。テキストボックスなどに自動的に表示されるスクロールバーは自動的に機能するので自分で制御する必要はありません。これらのコントロールに付属しているスクロールバーはここでいうHScrollBar, VScrollBarと外見は似ていますが別のものです。
TrackBarも機能はHScrollBarとほとんど同じですが見かけが違います。TrackBarの場合はユーザーに「スクロール」という印象を与えませんので、スクロール以外の用途で量を表現するならばTrackBarをお勧めします。
■画像14:TrackBar
ProgressBarは表示専用です。よく作業状況を表現するにのに使われます。インターネットで大きなファイルをダウンロードするときに表示される進行状況に似ています。
■画像15:ProgressBar
PageSetupDialog | ページセットアップダイアログ | ||
PrintDialog | プリントダイアログ | ||
PrintDocument | プリントドキュメント | ||
PrintPreviewControl | プリントプレビューコントロール | ||
PrintPreviewDialog | プリントプレビューダイアログ |
印刷機能に関しては私はほとんどわかりません。プリンタから印刷したり、印刷前にプレビューしたりできるようです。
次のプログラムはPrintDocumentとPrintPreviewDialogを使用して印刷プレビューを表示する例です。実行するにはこの2つの他にButtonをフォームに配置してください。
Private
Sub Button1_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles Button1.Click PrintPreviewDialog1.Document = PrintDocument1 PrintPreviewDialog1.ShowDialog() End Sub |
Private
Sub PrintDocument1_PrintPage(ByVal
sender As System.Object,
ByVal e As
System.Drawing.Printing.PrintPageEventArgs)
Handles PrintDocument1.PrintPage Dim f As New Font("MS 明朝", 64, FontStyle.Bold) e.Graphics.DrawString("こんにちは", f, Brushes.Red, 10, 10) End Sub |
■リスト5
実行すると次のようなプレビューが表示されます。
■画像16:PrintDocumentとPrintPreviewDialog
印刷についてのより詳しい説明は、初級講座第35回 印刷をご覧ください。
これらのコントロールを使用した標準の印刷機能はプログラムから印刷内容を細かく制御する必要があります。デザイナなどを使って楽をしたい場合にはサードパーティ製、つまりマイクロソフト社以外の製品を使用します。たとえば、ActiveReportsやCrystalReportsです。これらの製品もVBの他のコントロールと同じように扱えてしかも高機能です。その分値段も高いですが。ActiveReportsは無料で使えるトライアル版がかなりお得なので興味があったらダウンロードしてみてください。(トライアル版の使用条件に気をつけてください。配布することはできません。)
マイクロソフト社の製品でもSQL Serverに付属するReporting Service機能を使用してVisual Basicから印刷することもできます。業務でシステムを構築するときには事前にどの仕組みを使用して印刷を行うかよく検討してください。
ColorDialog | カラーダイアログ | 色の選択ダイアログを制御する。 | |
FolderBrowserDialog | フォルダブラウザダイアログ | VB.NET2003以降。フォルダ選択ダイアログを制御する。 | |
FontDialog | フォントダイアログ | フォントの選択ダイアログを制御する。 | |
OpenFileDialog | オープンファイルダイアログ | ファイルを開くダイアログを制御する。 | |
SaveFileDialog | セーブファイルダイアログ | 名前を付けてファイルを保存するダイアログを制御する。 |
この場合のダイアログとは一定の機能をもった選択画面のことです。たとえば、開くファイルを選択するためにはOpenFileDialogを使用します。OpenFileDialogを使用すると、Windows標準の「ファイルを開く」ときの画面が表示されます。
他に、保存するファイル名を選択するSaveFileDialog、フォルダ選択ダイアログであるFolderBrowserDialog, フォントを選択するためのFontDialog, 色を選択するためのColorDialogが使用可能です。これらのダイアログは高機能なうえにプログラムは簡単ですので重宝します。
なお、FolderBrowserDialogはVB.NET2003以降で使用可能です。
■画像16:SaveFileDialogによって、「名前を付けて保存」ダイアログが表示されたところ。
ただ、これらのコントロールは配置しないで、すべてをプログラムから制御することもできるので、プログラムからの制御を好むプログラマも多いようです。
ErrorProvider | エラープロバイダ | (不明。目下研究中。) | |
ImageList | イメージリスト | TreeViewやListViewと連動して画像を管理する。 | |
NotifyIcon | ノティファイアイコン | タスクトレイにアイコンを表示し、制御する。 | |
SoundPlayer | サウンドプレイヤー | VB2005以降。wavファイルの再生を制御する。 | |
Splitter | スプリッター | ユーザーがマウスで表示領域の大きさを変更できるようにする。 | |
StatusBar | ステータスバー | ステータスバーを制御する。 | |
Timer | タイマー | 一定時間ごとにイベントを発生させる。 |
他にもいろいろなコントロールが用意されています。
ErrorProviderはエラーのある箇所にアイコンとメッセージを表示します。
■画像17:ErrorProvider
この画像の例は以下のコードで作成しました。フォームにTextBoxを2つとErrorProviderを1つ貼り付けて実行すると実際に試すことができます。
コードの中で数値変換可能か調べるためにTryParseメソッドを使っているので、VB2005以上でないと実際に動かして試すことはできませんが、ErrorProvider自体はVB.NET(2002)以降であれば使用できます。
Private Sub
TextBox1_Validating(ByVal sender
As Object,
ByVal e As
System.ComponentModel.CancelEventArgs) Handles
TextBox1.Validating If Len(TextBox1.Text.Trim) = 0 Then ErrorProvider1.SetError(TextBox1, "省略できません。") Else ErrorProvider1.SetError(TextBox1, "") End If End Sub |
Private Sub TextBox2_Validating(ByVal
sender As Object,
ByVal e As
System.ComponentModel.CancelEventArgs) Handles
TextBox2.Validating If Integer.TryParse(TextBox2.Text, 0) = False Then ErrorProvider1.SetError(TextBox2, "数値を入力してください。") Else ErrorProvider1.SetError(TextBox2, "") End If End Sub |
■リスト6
個別のコントロールではなくデータと連動させる使い方もあります。
ErrorProviderの使い方についてはtakさんからメールでご教授いただきました。ありがとうございます。
ImageListはTreeViewやListViewなどと連動するための画像を管理します。
この機能を使えばTreeViewやListViewで簡単にアイコンを表示することができます。
図解基礎解説 ImageListの使用方法をご覧ください。
NotifyIconはタスクトレイのアイコンを表します。NotifyIconを使うと気軽にタスクトレイにアイコンを表示して制御することができます。常駐アプリを作る場合などには重宝しそうです。なにより「手軽さ」が嬉しいです。
詳しい使用方法はクラスライブラリ詳解 NotifyIconをご覧ください。
SoundPlayerはVB2005以降で使用可能で、wavファイル再生の簡単を制御 が行えます。以下の例ではwavファイルを再生します。
Dim
Player As New
System.Media.SoundPlayer Player.SoundLocation = "C:\Windows\Media\chord.wav" Player.Play() |
■リスト7
Splitterはコントロールの配置に関する便利な機能を提供します が、VB2005以降ではさらに便利で使いやすいSplitContainerコントロールが導入されましたのでそちらを使用してください。現在ではSplitterコントロールは使用されなくなっています。SplitContainerについてはこの記事の少し上、2−6.コントロールをまとめるためのコントロール のところで取り上げています。
StatusBarはアプリケーションにステータスバーを追加します。このステータスバーは手軽に使える上に表示用には十分な機能を提供してくれます。あなたのアプリケーションにも是非ステータスバーを導入してみてください。
StatusBarについて特別に説明している記事はありませんが、初級講座第25回 実技2 フォルダ情報一覧 で作成するサンプルで使用しています。
Timer(タイマー)は一定時間ごとに処理をしたいときに使います。
次のプログラムはTimerを使って、赤い円が左から右へ向かって徐々に移動するようにします。Timerの説明のためですのでグラフィックスとしての性能は悪いです。(ゲームのように綺麗に描画するにはDirectXを使います。)
Dim X As Integer |
Private
Sub Form1_Load(ByVal
sender As System.Object,
ByVal e As System.EventArgs)
Handles MyBase.Load
Timer1.Interval = 200
'0.2秒ごとにTickイベントを発生させる。 End Sub |
Private
Sub Timer1_Tick(ByVal
sender As System.Object,
ByVal e As System.EventArgs)
Handles Timer1.Tick Dim g As Graphics = Me.CreateGraphics X += 5 End Sub |
■リスト8:Timerの使用例
このプログラムを見ていただければすぐに分かると思いますが、TimerではIntervalプロパティ(読み方:Interval = インターバル)を使ってTickイベント(読み方:Tick = ティック)を発生するタイミングを制御します。Intervalプロパティには時間をミリ秒単位で指定します。つまり、Intervalプロパティが1000のときは1秒おきにTickイベントが発生します。
今回はざっと全標準コントロールを紹介しました。これで、どのような場面でどのコントロールを使えばよいのか簡単に理解していただけたと思います。次回からは、コントロールに共通の機能を説明した上で、重要なコントロールについては個別に取り上げていこうと考えています。