ウイザード形式の画面を作るには

ウイザード形式の画面というのは、処理内容が複数ページの流れになっていて、最初のページから順に処理を進めていく形式の画面のこと。ページの順番に入力項目、処理内容を示してくれるので、ソフトのことにあまり詳しくない人にもやさしい画面なのだ。

ところがWindowsFormsにはウイザードを作るコントロールがない。

VisualBasic6には、タブコントロールのプロパティを変更するとウイザードを作ることができた(ような記憶がある)のだけど、WinFormsのタブコントロールではできないようだ。

とはいえ、ほかに良い方法も思いつかないので、タブコントロールで作ってみる。


まあ、こんな感じ。実行するとこんな感じ。このサンプルでは、1ページから3ページへ進んでいく。前のページに戻ることもできる。





あとは、タブの上にあるラベルがじゃまである。これを消せればOKなのだが、消すためのプロパティがタブコントロールには無い(みたい)。

仕方がないので、いろいろ試したところ、次のように複数のプロパティを設定すると、ある程度消せるようだ。


        private void Form1_Load(object sender, EventArgs e)
        {
            this.tabControl1.Appearance = TabAppearance.Buttons;
            this.tabControl1.SizeMode = TabSizeMode.Fixed;
            this.tabControl1.ItemSize = new Size(0, 1);
        }

タブラベルをボタン形式にして、サイズを固定にして、高さを1に設定している。

するとこんな画面が表示される。


おお、なんか消えてる!

あとはカーソルキーでタブページを次へ、前へとやられる問題がありそうだけど、まあ、あまり気にしなくてもよいかな。

ということで、ウイザード形式の画面を作る方法でした。

コメント

このブログの人気の投稿

varchar をデータ型 numeric に変換中に、算術オーバーフロー エラーが発生しました。