簡體   English   中英

將變量綁定到.net textbox.text屬性

[英]bind variable to .net textbox.text property

我試圖做一個簡單的變量綁定到控件文本框,但我不能為我的一生得到這個工作。 這是場景兩種形式1,其中一種是datagrid,另一種是兩個文本框。 當我單擊數據網格時,我想將這些變量傳遞給FORM1中的文本框。 這是我嘗試的結果,沒有結果。 以我的形式

public string myText
    {
        get { return tuidInput.Text; }
        set { tuidInput.Text = value; }
    } 

然后,當我嘗試設置值時,我嘗試了第二種形式。

private void selectUser(object sender, DataGridViewCellEventArgs e)
    {
        userPicked.tuid = dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells["spriden_id"].Value.ToString();
        userPicked.Name =  dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells["spriden_last_name"].Value.ToString();

        Form1 form1 = new Form1();

        form1.myText = userPicked.tuid
     }

我從這里http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/7308639f-640b-48bf-8293-abcbfd2292d8/

但是它不會更新文本框? 我應該做些什么?

我在做什么錯? 我如何正確地做到這一點,我在這里看了幾篇文章,但在任何一篇文章中都沒有成功。 任何幫助將不勝感激。

我不確定是否是這種情況,但是在:
form1.myText = userPicked.tuid
您引用的是新創建的Form1對象,僅在上面的1行進行了初始化。 如果您檢查form1.myText屬性,您可能會注意到它已分配了值,但它不是您要實際引用的form對象。 如果您的文本框位於Form2中,則在Form1中創建一個Form2引用。 private Form2 form2 = null;
並創建一個屬性

public Form2 SecondForm { set { this.form2 = value; } } public Form2 SecondForm { set { this.form2 = value; } }正確地分配,然后使用form2.tuidInput.Text在Form1中正常。

你有沒有嘗試過:

Form1 form1 = new Form1();
form1.myText.Text = userPicked.tuid;
form1.myText.Refresh();
form1.Show();

重新加載文本框后,可能必須重新繪制該文本框。

另外,您說過要正確執行此操作。 “正確地”做到這一點(我之所以這么說是因為它可以被許多不同的人以多種方式解釋!)-我建議使用MVP,MVVM或MVC模式來處理此問題,而不是這樣做。 GUI中的業務邏輯。

對於MVP示例: http : //haacked.com/archive/2006/08/09/ASP.NETSupervisingControllerModelViewPresenterFromSchematicToUnitTestsToCode.aspx

以上所有答案均無法回答問題,我終於在這里找到了答案http://social.msdn.microsoft.com/forums/en-us/csharpgeneral/thread/9339C805-58C6-4DC2-934F-2A4ADC67ED4D這就是我所需要的去做。 我將文本框更改為public,然后從form2運行了此文本框,它的工作原理很吸引人。

Form1 form1 = (Form1)Application.OpenForms["Form1"];

感謝大家的回應。 米格爾

暫無
暫無

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

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