我有一个内部winform应用程序,用于查看,编辑和插入成员数据。他们使用大约40个单独的表格页面来操纵数据的不同部分。
我的问题是这个;实现表单页面的只读视图的最佳方法是什么?
我的想法是
循环控制设置Enabled = False
要么
留下它们但不允许任何数据更改(没有保存按钮等),除非它被“解锁”。
我很好奇其他人如何处理WinForm应用程序?
答案 0 :(得分:1)
我认为如果一个字段不是要编辑的,它应该看起来不像一个字段。使其看起来像一个字段,为用户提供了可视队列,它应该是可编辑的。他们可能想知道为什么不是。因此,为什么不制作只读字段标签而不是Enabled=False
?
更新:如果您必须保留文字字段,则另一种方法是将它们设置为看起来像标签。这意味着将背景颜色设置为灰色,删除边框并移除tabstop。您可以创建DisableField
函数来执行此操作。
答案 1 :(得分:1)
如果您的数据绑定不支持readonly,那么是,编写一些代码以使UI尽可能只读。但这不是'安全',所以一定要阻止任何可能触发更新的命令。
您希望它只读一致,不允许用户编辑他们无法保存的字段。但是不要在任何地方设置Enabled = false,其行为不同(没有选择/复制等)。
考虑一下组合框,你想让它们能够下拉吗?
答案 2 :(得分:0)
最好这样说,如果表单上的字段是只读的,那么用不可编辑的标签替换它们。这将更适用于文本框,复选框,对于组合框和列表框,也许,您还必须给它们一个标签,通过在两种情况下将选择显示为标签 - 您如何看待?
事实上,如果您希望避免将选择作为标签,这里有一些链接可以让您保留组合框/列表框...