1

私はC#を使用してWindowsアプリケーションを開発しています。下記のシナリオの解決策が必要です。2つのユーザーコントロールを含むWindowsフォームがあります。最初のユーザーコントロールにはグリッドが含まれ、ユーザーがグリッドの任意の行をクリックすると、別のユーザーコントロールに選択したセルの詳細が表示されます。詳細コントロールのデータを変更するときは、親コントロールのデータグリッドを更新する必要があります。

子コントロールをロードするために以下のコードを使用しています。

private void GridInquiry_CellClick(object sender, DataGridViewCellEventArgs e)
{
    PanelParentControl.Controls.Clear();
    InquiryDetailsCls.InquiryID =  Convert.ToInt32(GridInquiry.SelectedRows[0].Cells[0].Value.ToString());
    CtrlInqDetails inqDetails = new CtrlInqDetails(InquiryDetailsCls.InquiryID, 1);
    inqDetails.Dock = DockStyle.Fill;
    PanelParentControl.Controls.Add(inqDetails);
}
4

1 に答える 1

0

C#の通知センターを使用することをお勧めします。これにより、グローバルイベントを作成し、コード内の任意の場所でこのイベントに登録し、コード内の任意の場所からこのイベントを発生させることができます。

于 2013-02-03T07:09:36.880 に答える