0

ListView に同じデータが入力される複数のフォームを作成しています。そこで、フォームごとに個別にデータを入力する代わりに、派生 ListView を作成し、データの入力をコンストラクターに入れることにしました。

私が抱えている問題は、デザイナーを使用してコントロールをフォームに追加すると、ハードコードされた ListViewItems がデザイナー ファイルの ListView に追加されることです。そのため、アプリが実際に実行されると、重複するアイテムが作成されます。

これがなぜ起こっているのかはわかっていますが、それを防ぐ方法を見つけたいと思います。

助けてくれてありがとう。

4

1 に答える 1

0

さらに調査した結果、問題の解決策を見つけました。

私が必要としていたのは、「DesignMode」がfalseの場合にのみコードを実行する方法でした。

コンストラクターではDesignModeが常にfalseであるため、OnCreateControlイベントにオーバーライドを設定し、そこに配置します。

protected override void OnCreateControl()
{
    if (!DesignMode)
    {
        // Populate data
    }
    base.OnCreateControl();
}
于 2012-09-28T15:37:03.470 に答える