私はリストビューを持つフォームを持っています。 Form.Showを呼び出した後、私はリストビューを更新する必要があります。しかし、私のリストビューのコードにかかわらずForm.Showが呼び出された後、それは空で、列はなく、データは出ません。私のリストビューコードの後にForm.Showを移動すると、リストビューが正しく表示されます。Form.Showの後にリストビューを更新する方法
は、ここに私のリストビューのコードです:
private void InitializeListView()
{
_snapshotList.BeginUpdate();
_snapshotList.Items.Clear();
foreach (ISnapshot snapshot in _snapshots)
{
string comment = InstanceFactory<ProjectRecoveryService>.Instance.RetrieveCommentsforSnapshot(snapshot);
string[] sub = new string[] { snapshot.Name, snapshot.Version.ToString(), snapshot.CreatedDate.ToString(), comment };
ListViewItem item = new ListViewItem(sub);
item.Tag = snapshot;
this._snapshotList.Items.Add(item);
}
_snapshotList.EndUpdate();
this._snapshotList.Refresh();
}
サイドノート、私は非常に似ていますが、他の誰かが望むように動作している拡張したことをTreeViewコントロールを持つ別のフォームを持っています。
どのような考えですか?
EDIT 1 このフォームは単一のインスタンスである必要があります。
public static RestoreSnapshotDialog GetInstance()
{
if (_dialog == null)
{
_dialog = new RestoreSnapshotDialog();
_dialog.Show(Control.FromHandle(System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle));
}
else
{
_dialog.BringToFront();
}
return _dialog;
}
私は_dialog = nullに設定FormClosedイベントの場合:this postを読んだ後、私のForm.Showコードは次のように構成されています。
_snapshotsにはいつデータが取り込まれますか? –
Form.Showの後に入力されます。 _snapshotsを生成すると、上記のメソッドがトリガされます。 – Web
Form.Showはこの問題とは関係ありません。データはいつ呼び出されますか?関連するルーチンにいくつかのデバッグを入れ、起こっていると思われることが起こっていることを確認してください。あなたが投稿したコードには何も間違っていることはありません。 –