我正在用c#构建一个允许用户发送超文本标记语言电子邮件的电子邮件客户端。我有一些常规的格式化功能,包括插入项目符号和编号列表的选项。我希望允许用户在控件之间使用tab键,但也可以使用tab键来缩进列表中的项目符号或数字。有没有办法在某个控件中转义TabStop,特别是某个webBrowser控件?
发布于 2012-04-20 20:01:46
这个想法是由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;
}
}发布于 2012-04-20 01:34:14
对于多行TextBox,可以使用AcceptsTab属性。
对于WebBrowser控件,我认为您必须使用KeyPress事件并自己插入制表符\t。
https://stackoverflow.com/questions/10231501
复制相似问题