如何转移在C#中的窗口形式的对象 [英] How to Transferring objects between windows forms in c#
问题描述
我得到了form.When形式加载的ListView加载与企业人事对象的窗口一个ListView。我想这样做时,在ListView中一些用户双击,会从该ListView.SelectedItem属性的企业人事对象,并打开一个新的形式,这个对象转移到新开的形式。
这是我的codeS加载企业人事对象的ListView:
公共静态无效GETALL(ListView控件列表)
{
list.Items.Clear();
使用(FirebirdEntityz上下文=新FirebirdEntityz())
{
的ObjectQuery<企业人事>查询= context.PERSONEL;
的foreach(查询VAR项)
{
VAR mylist中=新的ListViewItem的{text = item.NAME};
mylist.SubItems.Add(item.SURNAME);
mylist.Tag =项目;
list.Items.Add(mylist中);
}
}
}
私人无效Form1_Load的(对象发件人,EventArgs的)
{
GETALL(ListView1的);
}
这是我对转移企业人事对象:
私人无效listView1_SelectedIndexChanged(对象发件人,EventArgs的)
{
企业人事企业人事=(企业人事)listView1.SelectedItems [0] .TAG;
}
在新的形式,将被打开,在表单类中添加一个新的属性;
私人人员人事{获得;组;}
公共ShowPersonnel(人事_personnel){
this.Personnel = _personnel;
//做任何你想在这里
}
在主窗体;
私人无效listView1_SelectedIndexChanged(对象发件人,EventArgs的){
人事人才= listView1.SelectedItems [0] .TAG的人员;
窗体2窗口2 =新的窗体2();
form2.ShowPersonnel(人员);
form2.Show();
}
可能包括错别字。更改人员企业人事。
i got a ListView in the windows form.When form loads ListView loading with personel objects. I want to do when some user double clicks on ListView , gets the personel object from the ListView.SelectedItem property and open a new form and transfer this object to newly opened form.
here is my codes for loading personel objects to ListView:
public static void GetAll(ListView list)
{
list.Items.Clear();
using (FirebirdEntityz context = new FirebirdEntityz())
{
ObjectQuery<PERSONEL> query = context.PERSONEL;
foreach (var item in query)
{
var mylist = new ListViewItem { Text = item.NAME };
mylist.SubItems.Add(item.SURNAME);
mylist.Tag = item;
list.Items.Add(mylist);
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
GetAll(listView1);
}
This is my personel object for transfer:
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
PERSONEL personel = (PERSONEL)listView1.SelectedItems[0].Tag;
}
In the new form that will be opened, add a new property in the form class;
private PERSONNEL Personnel{get; set;}
public ShowPersonnel(PERSONNEL _personnel){
this.Personnel = _personnel;
//do whatever you want here
}
In the main form;
private void listView1_SelectedIndexChanged(object sender, EventArgs e){
PERSONNEL personnel = listView1.SelectedItems[0].Tag as PERSONNEL;
Form2 form2 = new Form2();
form2.ShowPersonnel(personnel);
form2.Show();
}
May include typos. Change PERSONNEL to PERSONEL.
这篇关于如何转移在C#中的窗口形式的对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!