簡體   English   中英

如何將對象數據以第二種形式傳遞到文本框中進行編輯?

[英]How do you pass object data into textboxes in a second form to edit?

我是C#的新手,可以克服一些障礙。 我有一個帶有窗體的Windows窗體,該窗體將使用用戶輸入的值創建調用對象並將它們添加到列表中。 我想接一個現有呼叫,並在單擊按鈕時打開的單獨形式的不同文本框中顯示其值。 我有一個“ FindCall”方法,可通過其“ callerName”和“ phoneNumber”值在列表中找到所需的呼叫。 如果成功找到呼叫,它將顯示編輯表單。 這可以正常工作並打開表單,所以我知道查找調用的代碼運行正常。 但是,我無法確定如何在該編輯表單的文本框中顯示該調用對象的值。 任何幫助將不勝感激。

謝謝

因此,您有一個名為Form1的表單,它將打開一個新的Form,並使用諸如此類的名稱將其稱為Form2。

    private void Button1_Click(object sender, EventArgs e)
    {
        Form2 _newForm = new Form2();
        _newForm.Show();
    }

您需要做的就是在Form2內創建一個公共無效對象,該對象通過字符串傳遞以設置文本框的值,因此在Form2中,您可以:

    public void SetTextBox(string _txt)
    {
        TextBox1.Text = _txt;
    }

然后,您將Form1代碼更改為包括:

    private void Button1_Click(object sender, EventArgs e)
    {
        Form2 _newForm = new Form2();
        _newForm.SetTextBox("Your Text Here");
        _newForm.Show();
    }

一種簡單的方法是在第二個表單上創建一個屬性。 這將允許您在顯示表單之前在表單上設置值,然后再獲取任何新值。

在編輯表單上有類似...

string SomeValue
{
    get { return SomeValueField.Text; }
    set { SomeValueField.Text = value; }
}

...其中SomeValueField是編輯表單上的TextBox。

然后在調用表單中,您可以通過屬性訪問TextBox。

var editForm = new EditForm();

editForm.SomeValue = "...";

editForm.ShowDialog();

var newValue = editForm.SomeValue;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM