c#ComboBox防止在下拉菜单后选择项目
问题描述:
我在Visual Studio中有一个组合框的特定问题。 我使用它来让用户在立即启动SQL请求的组合框的文本框部分输入文本。 结果应显示在组合框的下拉列表部分。 (DropDownStyle设置为下拉)c#ComboBox防止在下拉菜单后选择项目
private void UpdateParent(object sender, EventArgs e)
{
ParentListChange(); //Update the listitems
//prevent from opening at the beginning
if (!ParentSelect.Text.Trim().Equals(""))
{
//my problem
ParentSelect.DroppedDown = true;
Cursor.Current = Cursors.Default;
}
}
但只要下拉打开的第一个项目被选中和它的整个文本将粘贴到文本框中。 因此,如果您开始在一行中多写一个字母,第一个字母会“消失”,因为第二个字母会替代所选文字。
我知道有一个类似的帖子,但answeres没有帮助,因为他们将很慢(用户将不得不等待大约一秒钟的键入):
private void comboBox1_TextUpdate(object sender, EventArgs e)
{
var savedText = comboBox1.Text;
comboBox1.DroppedDown = true;
comboBox1.Text = savedText;
comboBox1.Select(savedText.Length, 0);
}
也不会成为借机打开下拉列表,这是至关重要的:
comboBox1.DropDownStyle = ComboBoxStyle.DropDown;
comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;
有没有办法只是禁用“选择第一项”的东西?
你的问题是什么? WPF? UWP?的WinForms? Web窗体? Xamarin?还有别的吗?使用标签! – taffer
看看这里:http://*.com/questions/11445125/disabling-particular-items-in-a-combobox – Niklas
你的DropDownList在哪里?你的TextBox在哪里?您的代码中唯一可见的控件是组合框。请尽量更精确地描述您的问题。 – Sabuncu