日期:2014-05-19  浏览次数:20858 次

菜鸟问一个多行文本回车的问题。
我在程序里加了这样一段代码,
protected   override   bool   ProcessDialogKey(Keys   keyData)
                {
                        if   (keyData   ==   Keys.Enter   &&   this.ActiveControl   is   TextBox)
                        {
                                keyData   =   Keys.Tab;
                        }
                        return   base.ProcessDialogKey(keyData);
                }
为的是能点回车到下一个控件,但当到了textbox多行文本的时候,回车到另一个控件了,我想是在textbox输入回车,应输入下一行文本。

------解决方案--------------------
把TextBox的AcceptsReturn属性改为True就行了。。

------解决方案--------------------
判断一下焦点在哪不就得了
------解决方案--------------------
加多一行判断就可以了
protected override bool ProcessDialogKey(Keys keyData)
{
if (keyData == Keys.Enter && this.ActiveControl is TextBox)
{
if((this.ActiveControl as TextBox).MiluteLine == false)
{
keyData = Keys.Tab;
}
}
return base.ProcessDialogKey(keyData);
}