繁体   English   中英

如何在列表框中显示所选数据并在文本框中显示?

[英]How to display selected data in Listbox and display in Textbox?

我有两种形式-一种是主表单,其中有一个列表框,其中包含从文本文件中加载的数据。 另一种是交货形式。 当用户在列表框中选择一个项目并单击“编辑”按钮时,将出现交货表单,所选数据将显示在交货表单的文本框中。 目前,我有这样的事情:

private Visit theVisit = new Visit();
private List<Delivery> deliveries = new List<Delivery>();
private FrmDelivery deliveryForm = new FrmDelivery();

private void updateDelivery()
{
    lstDeliveries.Items.Clear();            
    List<String> listOfD = theVisit.listDeliveries();
    lstDeliveries.Items.AddRange(listOfD.ToArray());            
}

private void btnEditDelivery_Click(object sender, EventArgs e)
{
    deliveryForm.ShowDialog();
    updateDelivery();
}

表单是一个与其他类一样的类:您可以添加属性,也可以设置访问器。

使用传递表单上的属性,该属性在更改时会填充文本框。

您现在要做的就是从主表单中设置此值并显示交货表单。

交付形式:

class FrmDelivery: Form
{
    TextBox text1; // Initialize this as usual
    public string DisplayText
    {
       get { return text1.Text; }
       set { text1.Text = Value; }
    }
} 

主要形式:

private void btnEditDelivery_Click(object sender, EventArgs e)
{
    FrmDelivery frm = new FrmDelivery();
    frm.DisplayText = "Whatever Value you want";
    frm.ShowDialog();
}

您也可以将text1声明为public,但是我不希望获得超出所需的控制权。 始终选择最严格的方法。

有几种方法可以执行此操作,一种是可以使用静态字段将列表框的selecteditem的值传递到“传递”表单

像这样 :

form1(在listbox的selectedindexchanged事件中):

public static string listboxselecteditem=listbox1.selecteditem;//here you add selected item of listbox

然后以“交付形式”执行:

textbox1.Text=form1.listboxselecteditem;//add value of selected item in listbox to textbox in Delivery form

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM