我需要使用提示文本"Pick a Value"
创建一个组合框,并在开始输入要清除的值时,并且当它为null时将组合框的文本更改为选择值
comboBox1.Text = "Pick a Value";
comboBox1.SelectedIndex = -1;
这里的问题是,cusrsor位置不起作用。它选择我的所有文字
private void comboBox1_TextChanged(object sender, EventArgs e)
{
if (comboBox1.Text.Length == 0)
{
comboBox1.Text = "Pick a Value";
}
}
我需要这个代码只有当用户使用backspase清除Combobox时才能正常工作,如果我在鼠标点击中使用ComboBox.Text = ""
则不需要;
private void comboBox1_MouseClick(object sender, MouseEventArgs e)
{
//This conflicts the comboBox1_TextChanged event
comboBox1.Text = "";
}
最后,如果用户开始输入,我需要一个清除文本的代码。
答案 0 :(得分:0)
你可以在TextChanged事件上使用isNullOrWhiteSpace
像这样的东西
if(string.IsNullOrWhiteSpace(combobox.Text))
{
combobox.Text = "Pick a value";
}
但是如果你想获得所需的效果,你应该使用字体颜色和不透明度,或类似水印。
水印链接: https://msdn.microsoft.com/en-us/library/bb613590(v=vs.100).aspx
此外,这可能会有所帮助:Watermark for Textbox