c# - 下拉组合框时停止更改文本
问题描述
使用 WinForms。我有一个带有 DropDownStyle DropDown 的组合框。在项目中,我放了一个项目“XA”。当用户在 ComboBox 中输入“X”(尚未下拉)然后按下下拉按钮时,“X”会自动替换为“XA”。我怎样才能阻止这种情况发生?我希望用户能够将文本保留为“X”,并且只有在下拉列表中单击“XA”时才将文本更改为“XA”。要重新创建一个新的 WinForms 应用程序并添加一个组合框,然后添加以下代码
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.DropDownStyle = ComboBoxStyle.DropDown;
comboBox1.Items.Add("XA");
}
请注意,如果用户没有按下下拉菜单,则“X”将留在组合框中。
请注意,这里有一个类似的问题,但实际上是不同的。 当列表项以与下拉项相同的文本开头时,如何设置 ComboBox 默认值*不在下拉列表中?
解决方案
我认为这个解决方案应该可以帮助你:
Winforms 组合框错误 - 2 个具有相同值但不同键的项目
它更改if (m.Msg == LB_FINDSTRING)
为m.Msg = LB_FINDSTRINGEXACT;
,这应该会阻止您描述的行为。
推荐阅读
- sql - 如何在以前安装的 MS SQL Server 中删除数据库?
- go - 覆盖 Go 结构方法的默认行为
- c++ - 如何使用 Vtune 和 MinGW 查看源代码
- javascript - 指示本地模拟的 firebase 功能使用身份验证模拟器
- java - 如何制作具有 3 个变量的 If 函数?蚀
- javascript - 无法创建测试 CSS 样式的条件
- docker - docker build logs 和我习惯的不一样
- google-apps-script - 我正在尝试在 Google Apps 脚本中使用 Identity group api 发送 groups.memberships.create
- image - 如何以编程方式查找照片是用智能手机相机拍摄的还是从互联网上拍摄的?
- typescript - 如何在 Firebase Cloud Functions 中模拟辅助函数?