0

フォームに進行状況バーを追加していましたlogin

sign in フォームのボタンをクリックするloginと、nextフォームはデータベースからいくつかの値を取得し (フォームの読み込み中)、nextデータを取得した後にフォームが開きます。

ここで、nextフォームが開く前に、フォームのプログレス バーにデータ フェッチの進行状況を表示したいと考えていますlogin 。そのため、次のコードをnextフォームに追加しました。

Login login = new Login();

//loop...................

_recordCount = _recordCount + 1;

// Increment ProgressBar 

ProgressBar progressBar = (ProgressBar) login.Controls["progressBarMainPageLoad"];
if (_recordCount*10 < 100)
{
    progressBar.Value = _recordCount*10;
}

しかし、プログレスバーの形に変化はありませんlogin。それの何が問題なのですか?

4

2 に答える 2

0

私があなたのコードを正しく理解していれば、ログインフォームの現在のインスタンスを次のように参照しようとします:

Login login = new Login();

'next'フォームの中にいるとき。しかし、この行はログイン フォームの新しいインスタンスを作成し、プログレスバー コントロールはこの新しいインスタンスから取得されます。したがって、基本的に、モニターに表示されていないフォームのプログレスバーをインクリメントしています。

これを証明するために、

login.Show() 

インクリメントを呼び出す前に。

解決するには、ログイン フォームの正しいインスタンスをこのフォーム内に渡してnext参照する必要があります。

于 2013-05-17T11:21:19.270 に答える