2016-05-23 100 views
-2

我想initialy文本框裏面顯示標籤,所以我寫的是這樣的:如何將文本框標記顯示爲文本框內的值?

var resultValue0 = new TextBox() 
{ 
    Location = new Point(x, y), 
    Tag = new int[i,j], 
    Text = string.Format("({0})", Tag) 
}; 

但結果我只得到這個文本框「()」。我如何正確顯示這個?

+1

什麼是標籤,你能解釋一下? ;) –

+0

@CyrilIselin我可以使用標籤代表我的TextBox – Kasia

+0

由於這是WinForms,所以'asp.net'標籤似乎不正確。 – ConnorsFan

回答

1

編輯:

似乎要存儲 「(I,J)」 文本里面(現在,我看了你的最新的評論)。

 var resultValue0 = new TextBox() 
     { 
      Location = new Point(x, y), 
      Tag = string.Format("{0},{1}", i, j) 
     }; 
     resultValue0.Text = string.Format("({0})", resultValue0.Tag); 

而且,我沒有意識到之前,你試圖設置文本文本框的使用其他參數(標籤)的參數內。這是不可能的,因爲Tag尚未設置。如果要設置resultValue0.Text使用resultValue0.Tag您需要在參數部分之外設置Text(如上所述)。

+0

是的,我想在我的文本框中看到類似'(i,j)'的東西。當我改變你的建議時,我得到'({})'...... – Kasia

+0

好吧......如果你想看到像「(i,j)」這樣的事情,那是另一回事..在這個例子中「(i,j) 「我沒有看到任何{或} ...如果您想使用string.Format在您的字符串內顯示大括號字符{或},那麼您需要使用{{和}}來顯示它們。這是我上面的答案。但如果你想顯示「(15,58)」(其中i = 15和j = 58),那麼你需要寫string.Format(「({0},{1})」,我, j)... – awdk

+0

我從(i,j)中創建了標籤,因爲您可以看到'Tag = new int [i,j]',所以重點是根據循環迭代檢查該標籤是否設置正確。此外,我的應用程序中有更多的文本框(不僅在i,j循環中)動態生成,而且我需要確定它是否全部,以確保是否正確生成。 – Kasia

0

你說我只在這個文本框中得到「()」。但你期望展示什麼?

如果你想文本框顯示「(I,J)」和相反,我會數:

var tb = new TextBox() 
{ 
    Tag = new int[2,4] 
}; 
tb.Text = string.Format("({0},{1})", (tb.Tag as int[,]).GetUpperBound(0)+1, (tb.Tag as int[,]).GetUpperBound(1)+1);