2011-05-04 29 views
0

我正在使用visual studio 2008 c#winform。 。我已經制作了數獨遊戲,效果很好。 。我想爲它做出最好的球員篩選並且得分取決於球員完成比賽所花費的時間。 。 我使用的另一種形式,當他遇見的最好的球員的情況採取的球員的名字,並給予名稱,主窗體上的標籤,但它不是working.here是我的代碼:如何製作最佳的播放器屏幕?

private void button1_Click(object sender, EventArgs e) 
    { 

     Form1 main = new Form1(); 
     main.lbBEN.Text = textBox1.Text; 
     this.Close(); 
    } 

,這另一種形式:

if (emint<bmint) 
{ 
    best b = new best(); 
    b.ShowDialog(); 


} 

請指導我。 。 .THANK you

+0

有什麼特別的問題之後?什麼不工作?也請更正格式。 – Pepe 2011-05-04 04:47:56

+0

主窗體上的標籤保持不變不更新 – Aenu 2011-05-04 04:49:36

+1

完全重複http://stackoverflow.com/questions/3384961/how-to-copy-a-textbox-value-from-form1-to-form2 – Prix 2011-05-04 04:59:40

回答

0

您已創建一個全新的Form1對象,該對象與已在屏幕上的Form1無關。您需要以某種方式傳遞對真實Form1次要表單的引用。

+0

你能幫我嗎一些代碼 – Aenu 2011-05-04 05:00:52

+0

@Aenu:當你創建最好的球員形式時,你可能是主要的形式。說'新的BestPlayerForm(this)'這裏是'Form1',你的'BestPlayerForm'構造函數可以爲click處理程序保存它。 – 2011-05-04 05:04:42

2

將公共屬性添加到第二個窗體並在ShowDialog()的正下方,將form1 label.Text設置爲包含用戶名稱的屬性。

public partial class Form2 : Form 
{ 
    string _highestScoreUser = string.Empty; 
    public Form2() 
    { 

    } 

    public string HighestScoreUser 
    { 
     get{ return _highestScoreUser; } 
     set{ _highestScoreUser = value; } 
    } 
} 

在Form1代碼的ShowDialog被稱爲像

{ 
    Form2 form = new Form2(); 
    form.ShowDialog(); 
    form1.label.Text = form.HighestScoreUser;  
} 

希望這有助於

相關問題