将对象从一个 Winform 传输到另一个 C#

问题描述 投票:0回答:2

我有一个非常有趣的问题...

我有一个Form,上面有一个datagridview。从这个数据网格中,我选择一个对象(在我的例子中是药物),当我单击“创建收据”按钮时,我调用我的另一个Form,称为“New Recipet”,并且它坚持该表单数据网格

现在的问题是我想在一个“会话”中传输更多对象,就像一张收据表单上的更多项目一样。

这是 FORM1 上的代码

private void btnIzdavanjeRacuna_Click(object sender, EventArgs e)
{
   hzzoLijekovi selektiraniLijek = hzzoLijekoviBindingSource.Current as hzzoLijekovi;
   if (selektiraniLijek != null)
   {
      using (var db = new appotekaDBEntities())
      {
         var lijekApoteka = (from l in db.lijekovi
                             where l.serijskiBroj == selektiraniLijek.serijskiBroj
                             select l).SingleOrDefault();

         if (lijekApoteka == null)
         {
            MessageBox.Show("Lijek ne postoji u bazi", "Upozorenje");
         }
         else if (lijekApoteka.kolicina == 0)
         {
            MessageBox.Show("Lijek ne postoji trenutno na zalihi", "Upozorenje");
         }
         else
         {
            FormRacuniNovi noviRacunForma = new FormRacuniNovi(lijekApoteka);
            noviRacunForma.Show();
         }
      }
   }
}

抱歉,这是克罗地亚语,但你应该明白其中的逻辑。所以...一切都适用于物品或物体

在另一张表格上”我有

private lijekovi lijekNaRacun;
public FormRacuniNovi (lijekovi lnr)
{
   InitializeComponent();
   lijekNaRacun = lnr;
}

private void FormRacuniNovi_Load(object sender, EventArgs e)
{
   lijekoviBindingSource.DataSource = lijekNaRacun;
}        

我想我可能应该传输一个绑定列表,但可以说我想一项一项地传输,否则它会很复杂(在到达要在 FORM1 上传输的数据网格之前,我还有一些其他查询)

我该如何解决这个问题?

在第二个 FORM 上,或者我想在数据网格中包含多个项目的表单上,我可能应该有一个绑定列表,但是在传输 .SIngleOrDefault() 对象时遇到转换问题...

c# winforms entity-framework-5
2个回答
0
投票

我认为这必须做到;

像这样更改新食谱表单的构造函数:

Form1 frm;
public New_Recipet(Form1 sender)
{
    frm= sender;
}

在 Form1.cs 上创建一个函数:

public void CreateRec(string argThatYouNeed,string anOtherArgThatYouNeed)
{
    //Do Whatever You Want With Args
}

以及菜谱表单中的提交按钮:

frm.CreateRec(arg1,arg2);

0
投票

最好在这里您可以访问以了解更多信息 https://myreceiptify.com

© www.soinside.com 2019 - 2024. All rights reserved.