Как вызвать форму в функции - PullRequest
0 голосов
/ 26 октября 2019

У меня есть две формы, когда cariGuide.cs формирует функцию двойного щелчка ячейки. Я хочу перейти к Form1.cs или Form2.cs, если предыдущая форма form1 или form2?

Вот мой блок кода:

public void GoBackMain(Form frm) //
        {
            if (dgvCariRehber.CurrentRow.Index != -1)
            {
                cariModel.Id = Convert.ToInt32(dgvCariRehber.CurrentRow.Cells["Id"].Value);
                using (Entities db = new Entities())
                {
                    cariModel = db.xcaSabits.Where(x => x.Id == cariModel.Id).FirstOrDefault();
                    frm.lblCariID.Text = cariModel.Id.ToString(); // cariSabitte güncelleme için id yi gönder.
                    frm.txtCariKodu.Text = cariModel.cariKodu;

                    frm.Show();
                    this.Hide();
                }
            }
        }

Мой вопрос заключается в том, как перехватить и понять данные предыдущей формы и отправить функцию (Форма от)

1 Ответ

0 голосов
/ 27 октября 2019

Наконец я нашел это !!

Сначала вы должны объявить свою основную форму;

        frmMain originalForm;
        public frmCariRehber(frmMain incomingForm)
        {
            originalForm = incomingForm;
            InitializeComponent();
        }

эта форма является вашей основной формой, которая не закрывается, и вы возвращаете грядущую ФОРМУ и управляете ФОРМОЙ с этим.

После этого;

public void GoBackMain()
        {
            if (dgvCariRehber.CurrentRow.Index != -1)
            {
                cariModel.Id = Convert.ToInt32(dgvCariRehber.CurrentRow.Cells["Id"].Value);
                using (fastCellDb db = new fastCellDb())
                {
                    cariModel = db.xcaSabits.Where(x => x.Id == cariModel.Id).FirstOrDefault();
                    originalForm.CariID = cariModel.Id;
                    originalForm.CariKodu = cariModel.cariKodu;
                    originalForm.CariAdi = cariModel.cariIsim;
                    originalForm.CariPopulate();
                    this.Close();
                }
            }
        }

Вот моя функция щелчка по ячейке Datagridview GoBackMain ().

Поговорим о MainForm.cs

public string StokKodu,CariKodu,CariAdi;
public decimal StokFiyati;
public int StokID,CariID;

вам нужно объявить переменные, которые вы возвращаете, открывая форму.

и, наконец, получите значения MainForm.cs !!

     internal void StokPopulate()
        {
            txtStokKodu.Text = StokKodu;
            lblStokID.Text = StokID.ToString();
        }
     internal void CariPopulate()
        {
            txtCariKodu.Text = CariKodu;
            lblCariID.Text = CariID.ToString();
            lblCariGetir.Text = CariAdi;
        }
...