【发布时间】:2012-08-07 23:27:08
【问题描述】:
我现在将跳过我的代码;应该更容易用文字来描述。
到目前为止,我的逻辑如下:
- 我有一个输入文本框,当用户输入错误的文本时,我会显示一条错误消息并将焦点返回到文本框。
- 当用户不输入任何内容或删除其中的内容并离开文本框时,它会进行一些处理,但在其他方面的行为与它一样 - 按 Tab 顺序跳转到下一个控件。
- 如果我关闭 Tab 键,如果我按下 Shift-Tab 或专注于我用鼠标单击的任何内容,则跳转到上一个控件。
- 如果我为某些可以自动完成的文本输入唯一前缀,例如可以自动完成为“artichoke”的“articho”,则代码会自动填充旁边的另一个只读文本框并跳到只读文本框的下一个邻居。 注意:如果我 Shift-Tab 使用相同的输入,那么它的作用相同,但在这种情况下我想执行不同的逻辑。
- 就像 4。但是如果我通过单击鼠标离开,那么代码会自动填充文本框 - 很好,但它也会选择我想要的控件。
现在坏掉的是4的秃头部分。;如果我尝试使用 Shift-Tab 向后循环所有交互式(而不是标签或禁用的)控件,我不能 - 我的自定义逻辑每 4. 启动并将焦点向前发送。仅当我在手头的文本框中填写了一些内容时,这才是一个问题,但我仍然想修复这种边缘情况。
有什么想法吗?有问题吗?
附:我不知道如何回答“你试过什么?”除了说我使用 WinForms 几个月而且我不知道如何在这里继续之外的其他类型的问题。谢谢。
【问题讨论】:
-
反对者,请详细说明。
标签: c# winforms .net-4.0 customization