スキップしてメイン コンテンツに移動

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

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

ところが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に設定している。

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


おお、なんか消えてる!

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

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

コメント

このブログの人気の投稿

SQLでは文字列の前に「N」が必要だ

SQLServerのテーブルにテキストを登録したら一部の文字が文字化けした。環境依存文字だと化けるみたい。

コンボボックスのDataSourceプロパティの使い方

コンボボックスに表示するデータを設定するのを簡単にする工夫をまとめます。コンボボックスのDataSourceプロパティを上手に使いましょう。(2017/8/30追記)