我正在用 c# 构建一个电子邮件客户端,允许用户发送 HTML 电子邮件。我有一些通用的格式化功能,包括插入项目符号和编号列表的选项。我希望允许用户通过控件进行选项卡,但也使用选项卡键来缩进他们列表中的项目符号或数字。有没有办法在某个控件中转义 TabStop,特别是 webBrowser 控件?
问问题
665 次
2 回答
4
大卫激发了这个想法,但我想提供更多细节。我使用 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;
}
}
于 2012-04-20T12:01:46.053 回答
0
对于多行文本框,您可以使用AcceptsTab属性。
对于 WebBrowser 控件,我认为您必须使用KeyPress事件并自己插入一个制表符\t
。
于 2012-04-19T17:34:13.707 回答