0

フォームにプログレスバーをいくらか追加できるようにしたい(プログレスバーの数はユーザーごとに異なる場合があります)。

私は1つのプログレスバーを追加するためにこのコードを書きました:

        ProgressBar progressbar = new System.Windows.Forms.ProgressBar();
        progressbar.Name = "progressBar1";
        progressbar.Size = new Size(280, 30);
        progressbar.TabIndex = 9;
        progressbar.Show();
        flowLayoutPanel.Container.Add(progressbar);

このコードを実行すると、例外が発生します"Object reference not set to an instance of an object."。気になるのは、IDEを使用してプログレスバーとflowLayoutPanelの両方を見るとnullではないことです。私は何を間違えましたか?

4

2 に答える 2

4

推測flowLayoutPanel.Containerはnullです。私はあなたが欲しいと思います

flowLayoutPanel.Controls.Add(progressbar);
于 2012-12-18T20:57:57.330 に答える
1
progressbar.Show();

この行は必要ありません

このコードを前に置きましたInitializeComponentsか?flowLayoutPanelこの関数ではすべてのフォーム要素が初期化されるため、nullになります。

次に、サブ要素はFlowLayoutPanel.Controlsコンテナではなく、にあります

于 2012-12-18T20:56:38.933 に答える