![](/img/trans.png)
[英]How Do You Edit a Second (Non-Main) C# Form Window In Visual Studio Designer?
[英]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.