2017-04-26 3 views
0

私は現在、学校プロジェクト用の簡単な登録システムを開発中です。私は、クリックすると別のサブモジュールのセットで新しいフォームを開くという複数のモジュールを持っています。VB.NET - 他のフォームをロードせずにナビゲートする

ただし、新しいフォームを開くたびにフォームの読み込み方法が嫌いです。たとえば、「登録」ボタンをクリックして新しいフォームを読み込むのではなく、すべてのコントロールを変更する方法がありますか?ユーザーコントロールを使用しようとしましたが、2つのユーザーコントロールを作成して1つのフォームに読み込むと、プログラムがクラッシュすることがありました。

Main Form; Enrollment Sub Form

私の男を助けてください。

+1

フォームの代わりにUserControlsを作成し、親コンテナで置き換えます。 – LarsTech

+0

個別のアスペクトを表すTabPagesは別のオプションです – Plutonix

+0

@LarsTechどうすればいいですか? –

答えて

0

LarsTechが述べたように、私はフォームの代わりにユーザーコントロールを使用します。

各ユーザーコントロールは、フォームと同じ方法でセットアップされますが、メインフォーム上のパネルにロードすることができ、すべてのコンテンツを1つのフォームで表示することができます。

Dim myControl = New ControlYouCreated 
panel1.Controls.Add(myControl) 
myControl.bringtofront 

たとえば、作成したユーザーコントロールの内容をフォーム1のパネルに表示します。

+0

ありがとうございました。私は一つの懸念がある。私は2つのユーザーコントロールを1つの形式で読み込みます。 userctrl_1を隠してボタンをクリックすると、userctrl_2に移動できます。つまり、私はもはやuserctrl_1を表示できなくなります。それは隠されたままです。 userctrl.show()とuserctrl.Visible≈trueを使用しようとしましたが、何も動作しないようです。 –

+0

userctrl_2を先頭に戻さなければならないようです。ホールドして、私は何か動作して、例を投稿します。 – TonyW

+0

問題を修正する方法を示すためにコードを少し編集しました。あなたは、あなたが示したいコントロールのために "bringtofront"する必要があります。 – TonyW

関連する問題