TXText Control设置了加斜快捷键后会修改成tab制表符
private void textControl1_KeyDown(object sender, KeyEventArgs e){
if (e.Control && e.KeyCode == Keys.I)
{
textControl1.Selection.Italic = ture;
}
}
会把选中加斜的文本替换成制表符,是不是TXText Control有内置的快捷键,需要修改属性么? 回复 1楼aykuang456的帖子
推测你的操作步骤如下:
1.在TextControl里添加你给出的KeyDown代码。
2.在运行时,在TextControl里选择文字。
3.按下键盘的I键。
根据你的代码逻辑和步骤,按下键盘I键,会在TextControl里输入字符"I",然后触发KeyDown事件,在该事件里执行Selection.Italic操作,将你输入的"I”变成斜体"I"。
因此,从你的逻辑来说,TextControl的执行是没问题。
根据你的需求,你可以使用类似ctrl, shift或此类组合键。 我的代码执行后字体加斜了,可是会自动将我选择加斜的字体给替换成tab啊
相当于只想了2次操作
1.选中的字体加斜。
2.替换成tab制表符。
替换成制表符是TXTextcontrol自动替换的,能不能不让它替换啊 如果我不加上述代码的话,我按下CTRL+I会插入一个制表符,如何屏蔽掉 回复 4楼aykuang456的帖子
你使用的快捷键和默认的快捷键冲突了,建议你换其他键作为你的快捷键。 能不能注销到默认的快捷键,因为客户习惯了word的编辑模式,习惯用Ctrl+I对字体加斜 回复 6楼aykuang456的帖子
可以重写ProcessCmdKey方法来处理keys。
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
Keys key = keyData & ~(Keys.Shift | Keys.Control);
switch (key)
{
case Keys.I:
if ((keyData & Keys.Control) != 0)
{
browserTextControl1.Selection.Italic = !browserTextControl1.Selection.Italic;
return true;
}
break;
}
return base.ProcessCmdKey(ref msg, keyData);
}
具体参考文档:
http://www.textcontrol.com/en_US/blog/archive/20091007/ 非常感谢,我试一下去 问题已解决,谢谢 回复 9楼aykuang456的帖子
谢谢反馈。此问题结束。如果有新问题欢迎开新帖。
http://gcdn.gcpowertools.com.cn/attachment.aspx?attachmentid=10062
页:
[1]