Skip to main content
 首页 » 编程设计

c#之在 WebBrowser 控件中转义 TabStop

2024年02月23日30hnrainll

我正在用 C# 构建一个电子邮件客户端,允许用户发送 HTML 电子邮件。我有一些通用的格式化功能,包括插入项目符号列表和编号列表的选项。我想允许用户在控件中使用 Tab 键,但也可以使用 Tab 键缩进列表中的项目符号或数字。有没有办法在某个控件(尤其是 webBrowser 控件)中转义 TabStop?

请您参考如下方法:

David 激发了这个想法,但我想提供更多细节。我使用 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; 
     } 
  }