MultiRow没有做任何的处理,这时你的消息被直接派发到了GcMultiRow.EditingControl上,默认TextBoxCell的EditingControl是TextBox,它内部有特殊的Tab处理逻辑,所以想禁止他的能力你需要在Form的ProcessDialogKey中Handle这个消息。
示例代码:
- protected override bool ProcessDialogKey(Keys keyData)
- {
- if (keyData == Keys.Tab)
- {
- if (this.ActiveControl != null &&
- this.ActiveControl.Parent != null &&
- this.ActiveControl.Parent.Parent is GcMultiRow)
- {
- return false;
- }
- }
- return base.ProcessDialogKey(keyData);
- }
复制代码 |