Как отправить данные из строки сетки данных (form2) по щелчку другому в usercontrol (form1), который открыл форму2 - PullRequest
0 голосов
/ 30 апреля 2019

как я могу отправить данные после того, как я нажму на кнопку «Ajouter ce Produit», как вы можете видеть и отправляете SelectedItem пользователю Control в моей главной форме на свою сетку данных, пожалуйста, помогите!

это окночто я открываю на userControl и хочу скопировать из: изображение ;

это - набор данных в usercontrol, который я хочу получить selectedItem в открывшемся окне: изображение

1 Ответ

0 голосов
/ 30 апреля 2019

Вы можете вызвать событие, нажав кнопку в форме 1 и в форме 2, вы можете прослушать это событие и передать выбранный элемент в форму 2.

   // The form that you want to copy the item from
public class form1
{
// This is the event that will be raised when you click the button.
public event EventHandler<ShareSelectedItemEventArgs> ShareSelectedItemData;

//This is where you click your button in form1
private void Ajuoter_ce_Produit_Click(object sender, EventArgs args)
{
 if(ShareSelectedItemData != null)
     ShareSelectedItemData(this, new ShareSelectedItemEventArgs() { ProductItem = (ProductItem)datagrid1.SelectedItem});
   }
}
// The form to send the data to
public class form2
{
    public form2()
    {
        // Listen for the event in form1 here
        form1.ShareSelectedItemData += (object sender, ShareSelectedItemEventArgs args) => ListenForItem(sender, args);
    }

    private void ListenForItem(object sender, ShareSelectedItemEventArgs args)
    {
        //handle the display of your item here.
        // The selected item can be accessed through args.ProductItem
    }
}

public class ShareSelectedItemEventArgs : EventArgs
{
    // This is the product item in your api or whatever you may have called it
    // it contains properties of price, name etc.
    public Product ProductItem { get; set; }

    public ShareSelectedItemEventArgs() : base()
    {
    }
}

Надеюсь, это поможет. Я нахожу события очень мощными в обмене данными без нарушения концепции инкапсуляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...