Web 浏览器控件中的 Escape TabStop

本文关键字:Escape TabStop 浏览器 控件 Web | 更新日期: 2023-09-27 18:31:35

我正在用c#构建一个电子邮件客户端,允许用户发送HTML电子邮件。我有一些常规格式设置功能,包括插入项目符号和编号列表的选项。我希望允许用户按 Tab 键浏览控件,但也使用 Tab 键缩进其列表中的项目符号或编号。有没有办法在某个控件中转义 TabStop,特别是 webBrowser 控件?

Web 浏览器控件中的 Escape TabStop

大卫激发了这个想法,但我想提供更多细节。我使用 mshtml 实际插入缩进和缩进。只是它仍然移动到下一个控件,因此添加e.IsInputKey = true实际上将光标保留在 webBrowser 控件中,以便用户可以继续键入。

  private void webBrowser_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
  {
     if (e.KeyData == Keys.Tab)
     {
        webBrowser.Document.ExecCommand("Indent", false, null);
        e.IsInputKey = true;    //prevents going to next control
     }
     else if (e.KeyData == (Keys.Shift | Keys.Tab))
     {
        webBrowser.Document.ExecCommand("Outdent", false, null);
        e.IsInputKey = true;
     }
  }

对于多行文本框,可以使用 AcceptsTab 属性。

对于 Web 浏览器控件,我认为您必须使用 KeyPress 事件并自己插入制表符't