简体   繁体   中英

How to display selected data in Listbox and display in Textbox?

I have two forms - one is the main form which has a listbox containing data which is loaded in from a text file. The other is a delivery form. When the user selects an item in the list box and clicks the edit button the delivery form should appear with the selected data displayed in the text box of the delivery form. At the moment I have something like this:

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();
}

A Form is a class like any other: you can add properties and you can setup accessors.

Use a property on the delivery form which fill a textbox when changed.

All you have to do now is set this value from the main form and show the delivery form.

Delivery Form:

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

Main Form:

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

You could also declare text1 as public, but I don't like given more control than needed. Always pick the most restrictive way.

There are some ways to do this,one is you can use static field to pass the value of selecteditem of listbox to Delivery form

like this :

form1(in selectedindexchanged event of listbox):

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

and then in Delivery form you do :

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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