1

重複の可能性:
C# で Windows フォーム用のウィザードを作成する

私はVB .Netフォームを開発するのが初めてで、現在「ウィザード」を別のフォームとしてセットアップしているだけですが、フォームを変更するとWindowsが完全なアニメーションを実行し、ウィンドウの位置が変わる可能性があります。これは、ユーザー側ではそれほど優れていません。

私が見た他の代替手段は、すべての要素を手動で非表示/表示することですが、それは面倒で維持が困難です。

個別のフォームを指示できる親コンテナがあるので、すべてのフォーム ロジックは個別のファイルにありますが、(ユーザーの観点から) 1 つのフォームを介してアクセスされますか?

注: 現在、フォームを切り替えるために .Show と .Hide を使用しています。

通常の Windows フォーム、.net 2.0 を使用する

4

3 に答える 3

2

コントロールを 1 つ以上UserControlの 内に配置することを検討する必要があります。これにより、フォームと同じようにデザインして使用できますが、必要に応じて表示または非表示にできる単一の「コントロール」として機能します。

詳細については、MSDNの「.NET Framework を使用したカスタム Windows フォーム コントロールの開発」を参照してください。

于 2013-01-02T23:56:09.717 に答える
1

いくつかのトリックを使用して、フォームをパネルにロードできます。メイン フォームにパネルを追加し、表示したい新しいフォームを薄暗くしてパネルに追加します。別のフォームを表示するには、パネルをクリアして新しいフォームをロードします。フォームをパネルにロードするために使用するコードは次のとおりです。

Dim formToShow As New Form2
formToShow.TopLevel = False
formToShow.WindowState = FormWindowState.Maximized
formToShow.FormBorderStyle = Windows.Forms.FormBorderStyle.None
formToShow.Visible = True
Panel1.Controls.Add(formToShow)
于 2013-01-03T02:50:57.490 に答える
0

各フォームのコントロールを同じサイズと位置のパネルに配置します。したがって、すべてのコントロールを 1 つずつ非表示にする必要はありません。パネルを非表示にして別のパネルを表示するだけです。

于 2013-01-02T23:53:13.053 に答える