簡體   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