Тут увидел годное решение для реализации подсказки в TextBox. Но есть проблема. Изначально (добавил в конструктор) поле показывает подсказку Null. То есть при добавлении строки строки в базу данных значение из этого поля будет никаким - Null. Но я хочу чтобы при вводе любого значения и удаления этого значения подсказка не возвращалась. И в базу данных пойдет не никакое значение, а пустая строка "". Как поправить класс, чтобы подсказка была "одноразовая"?
Что-то тишина в ответах. Своими культяпками вот так сделал:
class CueTextBox : TextBox
{
[Localizable(true)]
public string Cue
{
get { return mCue; }
set { mCue = value; updateCue(); }
}
public CueTextBox()
: base()
{
this.Cue = "Null";
this.TextChanged += new System.EventHandler(OnChange);
}
private void updateCue()
{
if (this.IsHandleCreated && mCue != null)
{
SendMessage(this.Handle, 0x1501, (IntPtr)1, mCue);
}
}
void OnChange(object sender, EventArgs e)
{
this.Cue = "";
}
protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
if (e.KeyCode == Keys.Delete && this.Text == "")
this.Cue = "Null";
}
protected override void OnHandleCreated(EventArgs e)
{
base.OnHandleCreated(e);
updateCue();
}
private string mCue;
// PInvoke
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, string lp);
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как узнать, какая версия языка C# используется в Visual Studio 2015? Как обновить до последней?
Уважаемые гуру помогите с вопросамиНедавно начал изучать С# в связке с Visual Studio и вот написал программку ForApss