当前位置:  开发笔记 > 编程语言 > 正文

如何在winforms中制作Combobox readonly

如何解决《如何在winforms中制作Comboboxreadonly》经验,为你挑选了5个好方法。

我不希望用户能够更改组合框中显示的值.我一直在使用,Enabled = false但它会使文本变灰,所以它不是很易读.我希望它的行为像文本框一样ReadOnly = true,文本正常显示,但用户无法编辑它.

有没有办法实现这个?



1> 小智..:

make DropDownStyle属性DropDownList而不是DropDown 处理TextChanged事件以防止用户更改文本.


为什么这不是正确的答案?快速,简单,不会重新发明轮子.
这不会阻止用户仅通过编辑文本来选择不同的选项.
这可能不是正确答案,但对于我们中的56位(在撰写本文时),这是我们正在寻找的答案(如何禁用编辑文本.)

2> 小智..:

文章组合框与-只读行为提出了一个有趣的解决方案:

在同一个地方创建只读文本框和组合框.当您想要只读模式时,显示文本框,当您希望它可编辑时,显示组合框.



3> Dan Williams..:

不确定这是不是你想要的但是......

设置DropDownStyle = DropDownList

然后在SelectedIndexChanged事件上

If (ComboBox1.SelectedIndex <> 0)
{
    ComboBox1.SelectedIndex = 0
}

这个丑陋的部分是他们会"感觉"他们可以改变它.他们可能认为这是一个错误,除非你给他们一个警告,告诉他们为什么他们不能改变价值.



4> Marc Gravell..:

我可以建议的最好的事情是用只读文本框(或者只是标签)替换组合框 - 这样用户仍然可以选择/复制值等.

当然,另一个厚脸皮的策略是设置DropDownStyleDropDownList,并删除所有其他选项 - 然后用户没有别的选择;-p



5> Virus..:

在此输入链接描述

只需更改DropDownStyleDropDownList.或者如果你想要它完全只读你可以设置Enabled = false,或者如果你不喜欢它的外观我有时有两个控件,一个只读文本框和一个组合框然后隐藏组合并显示文本框是否应该完全只读反之亦然.

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有