Windowsフォームが初めてで、すべてのユーザーコントロールを処理する際に問題が発生しました。私は3つのユーザーコントロールを持っています、そして、私は2番目の画面(ユーザーコントロール2)に私を連れていますが、私は2番目の画面でキャンセルをクリックすると、最初の画面に戻ってきますもう一度ユーザーコントロールを押してください)、問題を今すぐ "Accept"をクリックすると、ウェルカムユーザーコントロールはnullとエラーを返します。初期ユーザーコントロールに戻った後にnullを返すフォーム
private void Viewer_Load(オブジェクト送信者、EventArgs e) { formPanel.Controls.Clear(); formPanel.Controls.Add(wel); }
private void SwapControls(object sender, EventArgs e)
{
if (formPanel.Controls.Contains(wel))
{
formPanel.Controls.Remove(wel);
formPanel.Controls.Add(p);
}
else if (formPanel.Controls.Contains(pin) && IsAuthenticated)
{
formPanel.Controls.Remove(p);
formPanel.Controls.Add(m);
}
else if(formPanel.Controls.Contains(pin) && !Global.IsAuthenticated)
{
formPanel.Controls.Remove(p);
formPanel.Controls.Add(wel);
}
は、だから、最初の頃は、そこ私はをクリックし、「同意する」を歓迎ユーザーコントロールをロードし、それがときから、ユーザーコントロールと負荷まで二番目の「ピンコントロールを入力します」をクリア「キャンセル」をクリックします。そのユーザーコントロールを削除してもう一度ロードします。ようこそ。しかし、今、私は同意する]をクリックしたときに、私は歓迎ユーザーコントロールに
再びthis.AddControl(this, new EventArgs());
をこの行のヌルを取得し、私は、Windowsフォームに新しいですし、私が学んでいる、任意の入力がはるかに高く評価されるだろう。
私はハンドラを削除する必要があるときに私は理解しない唯一のものであり、働いていたことをありがとう...私はちょうどそこにそれらを残すことができます?。 – user710502
UserControlsが常にインスタンス化されている場合は、フォームのDisposeメソッドでそれらを削除するだけです。 –
私は残念ですが、どうすればユーザーコントロールを削除できますか?処分場で? – user710502