将对象从一个Winform转移到另一个c#
本文关键字:转移 Winform 另一个 一个 对象 | 更新日期: 2023-09-27 18:09:07
我有一个很有趣的问题…
我有一个表单我有一个datagridview。从这个数据格中,我选择了一个对象(在我的例子中是一个药物),当我点击按钮"创建收据"时,我调用了另一个名为"新收据"的表单,它坚持到该表单数据格
现在的问题是,我想在一个"会话"中传输更多的对象,就像在一个收据表单上传输更多的项目。
下面是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();
}
}
}
}
对不起,这是克罗地亚语,但你应该明白的逻辑。所以…
在另一个FORM" I have
private lijekovi lijekNaRacun;
public FormRacuniNovi (lijekovi lnr)
{
InitializeComponent();
lijekNaRacun = lnr;
}
private void FormRacuniNovi_Load(object sender, EventArgs e)
{
lijekoviBindingSource.DataSource = lijekNaRacun;
}
我想我可能应该转移一个绑定列表,但让我说我想一个接一个地转移项目,否则它会很复杂(我有一些其他的查询之前,我得到的数据网格,我想在FORM1上转移)
我该如何解决这个问题?
在第二个表单上,或者我想在数据网格中有多个项目的表单,我应该有一个绑定列表,但是当我转移.SIngleOrDefault()对象时,我有一个转换问题…
我觉得必须这样做;
像这样修改New Recipet表单的构造函数:
Form1 frm;
public New_Recipet(Form1 sender)
{
frm= sender;
}
在form .cs上创建一个函数:
public void CreateRec(string argThatYouNeed,string anOtherArgThatYouNeed)
{
//Do Whatever You Want With Args
}
和收据表单中的提交按钮:
frm.CreateRec(arg1,arg2);