【发布时间】:2014-04-02 20:46:39
【问题描述】:
我正在使用网络表单,并且有一个带有标签栏的表单。每个选项卡中都有多个文本框。我增加了标签索引,从每个标签的 1 开始。如果用户点击表单末尾并点击选项卡,我想从一个选项卡到另一个选项卡。
我使用了离开方法并更改了我的选项卡控件的选项卡,唯一的问题是如果我没有点击选项卡并说我单击该选项卡上的另一个控件,它仍然会跳转到新选项卡。
我想解决这个问题的一种方法是监听 tab 按键,如果按键是 tab on leave 然后将表单更改为另一个 tab,但我似乎无法让它工作。我尝试过使用 keypress 和 keydown ,但两者都不会将该选项卡作为键。如果我说点击或点击开始输入,它会触发事件,但选项卡不会。
有什么建议吗?
我已经尝试过这些,但这些事件都不会触发。
private void afsiTxtDaysForTempOEpriceOverrides_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 11)
{
afsiTxtDaysForTempOEpriceOverrides_Leave(sender, e);
}
}
private void afsiTxtDaysForTempOEpriceOverrides_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == "11")
{
afsiTxtDaysForTempOEpriceOverrides_Leave(sender, e);
}
}
private void afsiChkSalesBaseCostUpdate_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 11)
{
afsiChkSalesBaseCostUpdate_Leave(sender, e);
}
}
private void afsiChkSalesBaseCostUpdate_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == 11)
{
afsiChkSalesBaseCostUpdate_Leave(sender, e);
}
}
编辑:发现该页面正在使用 Infragistics 的 UltraWinTabControl,所以这可能会导致选项卡出现一些问题。
【问题讨论】:
-
您确定 TAB 键事件不会被您和用户之间的某些东西消耗,并转化为导航操作吗?您可能需要通过使用某种焦点更改事件(或您在此平台上的任何名称)采取不同的方法
-
这就是我的想法。启用制表符时,制表符可能会影响按键使制表符不是键。
标签: c# c#-4.0 webforms tabs infragistics