Добавить статический текст в TextBox - PullRequest
4 голосов
/ 14 сентября 2011

Я разрабатываю пользовательский TextBox для отображения и редактирования значений валюты.Я хотел бы, чтобы символ валюты был виден внутри TextBox с левой стороны.Переопределение OnPaint для TextBox является своего рода ужасом после поиска в Google и выполнения некоторых тестов.У кого-нибудь есть другие идеи?Может быть, добавить символ в качестве фонового рисунка к TextBox (если это довольно просто)?

Ответы [ 5 ]

1 голос
/ 14 сентября 2011

почему не просто:

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        if (!textBox1.Text.StartsWith("£"))
        {
            textBox1.Text = string.Concat("£", textBox1.Text);
            textBox1.Select(textBox1.Text.Length, 0);
        }
    }
1 голос
/ 14 сентября 2011

почему бы вам не поставить метку перед текстовым полем и не отобразить значение валюты?

0 голосов
/ 14 сентября 2011

Вы можете использовать MaskedTextBox вместо TextBox.http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.mask.aspx

Для вашего свойства Mask используйте "$" для символа валюты.

0 голосов
/ 14 сентября 2011

Другим вариантом будет использование водяного знака в вашем текстовом поле - см. здесь для примера того, как это сделать.

0 голосов
/ 14 сентября 2011

Вы можете сделать несколько вещей:

  • Добавьте «$» в свойстве get для текстового поля
  • Добавить ярлык со статическим $
  • Создайте пользовательский элемент управления с $ в качестве метки и используйте его в своем текстовом поле
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...