我知道WPF中的命令,但它在WinForms中的等价物是什么?
cboclient.IsHitTestVisible = false;
cboclient.Focusable = false;
使用这个命令组合框没有被禁用,但是用户不能打开它来阅读数据。我怎样才能在WinForms中完成这个操作?谢谢
详细信息:我有3个组合框在我的表单上,当表单最初加载时,只有第三个组合框无法打开阅读数据。当用户在前两个组合框中选择一个值,然后基于这两个值,第三个组合框被启用以显示来自DB的数据。
注意:这里我不想禁用第三个组合框,因为它会给予用户一个错误的表达式。
3条答案
按热度按时间g0czyy6m1#
您可以捕获消息
WM_MOUSEACTIVATE
并将其丢弃,以防止用户通过鼠标聚焦组合框,同时防止点击测试。捕获消息WM_SETFOCUS
以防止用户通过键盘聚焦组合框。尝试以下代码:oxf4rvwz2#
可以对OnSelectionChangedSelectionChanged事件使用if语句。
bqujaahr3#
您可以使用以下代码:
要将组合框显示为只读组合框,可以用途:
或