1

checkBox SameAsPrevious で HomeAddressUC から PermanentAddressUC にすべてのデータを転送したい

各 UserControl は同じ Type(AddressUserControl) を持ちます

ここに画像の説明を入力

HomeAddressUCを埋めるDataSourceのコードはこんな感じ

private void SetTabPageDetails(string tabPageName, CustomerDetails customerDetailsCache)
{
     customerDetailsCache = // calling stored procedure
     PermanentAddressUC.SetDetails(customerDetailsCache.Addresses[0]);
}

そのDataSourceの範囲は、SetTabPageDetails()私が実装しようとしていたメソッドのみのロジックであり、チェックボックスの変更されたイベントにあります

if (chkSameAsPervious.Checked)
{
    foreach (var addressCtl in from Control ctl in this.ADDRESS_TAB.Controls select ctl as BankSys24.UI.UserControls.AddressUserControl)
    {
        if (addressCtl.GroupBoxText == "Mailing Address")
        {
            // want to do something here
        }
    }
}

関連するリンクをたどってみます

通信に 2 つのユーザー コントロール (winform) が必要な場合のベスト プラクティス

サード コモン ユーザー コントロール コンテナまたはインターフェイスを使用するように指示されています

それを行う最適化された方法は何ですか?

4

2 に答える 2

0

すべてのフィールドが同じであるのに、自宅と郵送先住所で異なるユーザー コントロールが必要なのはなぜですか?

両方に 1 つのユーザー コントロールを使用し、グループ名を「自宅住所」または「郵送先住所」として設定するためのプロパティを作成できます。

アドレス オブジェクトを渡してアドレス フィールドを設定するパブリック メソッドと、フォームのフィールドを読み取ってアドレス オブジェクトを取得するパブリック メソッドを 2 つ持つことができます。

チェックボックスのチェック変更イベントで、ホーム アドレス ユーザー コントロール インスタント get アドレス メソッドを呼び出してアドレス オブジェクトを取得できます。次に、アドレス オブジェクトを渡して set address メソッドを呼び出すことで、郵送先住所ユーザー コントロール インスタントの詳細を設定できます。

于 2013-04-10T10:38:27.507 に答える