2011-09-14 43 views
4

我正在開發用於顯示和編輯貨幣值的自定義TextBox。我想要的是在左側的TextBox內有貨幣符號。覆蓋OnPaintTextBox是谷歌搜索和做一些測試後的一種恐怖。任何人有其他想法?也許將該符號作爲背景圖片添加到TextBox(如果這很簡單)?將靜態文本添加到文本框

回答

1

爲什麼不在文本框之前放置標籤並顯示貨幣值?

+0

你也許可以疊加標籤,只要它不能完全覆蓋'TextBox','TextBox'仍然會收到點擊事件。 – Yuck

+0

因爲我認爲它看起來更好,並且不需要爲符號添加額外的標籤。 Yuck的選擇可能是最簡單的。 –

+0

當然...祝你好運:) –

1

爲什麼不乾脆:

private void textBox1_TextChanged(object sender, EventArgs e) 
    { 
     if (!textBox1.Text.StartsWith("£")) 
     { 
      textBox1.Text = string.Concat("£", textBox1.Text); 
      textBox1.Select(textBox1.Text.Length, 0); 
     } 
    } 
0

你可以做幾件事情:

  • 在文本框中
  • 您的獲取屬性添加一個 「$」 添加標籤與靜態$
  • 用$作爲標籤創建一個用戶控件,並將其與您的自定義文本框一起重複使用
0

另一種選擇是在文本框中使用水印 - 請參閱here瞭解如何執行此操作的示例。