
 نوشته شده توسط 
misagh.sys
					 
				 
				سلام 
وقت همگی بخیر 
من از کدهای زیر برای فوکوس بین کنترل های از کلید Enter استفاده میکنم اما روی کنترل کمبوباکس مشکل دارمو کار نمیکنه 
لطف میکنید راهنمایی بفرمایید 
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    if (keyData == (Keys.Enter))
    {
        SendKeys.Send("{TAB}");
    }
    return base.ProcessCmdKey(ref msg, keyData);
}
private void comboBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyData == Keys.Enter)
    {
        SendKeys.Send("{tab}");
    }
}
 
	 
 می بینید اون ProcessDialogKey یک مقدار بازگشتی bool داره؟ اگه مقدار false برگردونده باشه که base.ProcessDialogKey اینکار رو میکنه به این معنی است که با اون کلید کار خاصی ندارم و کنترل های دیگه بهش رسیدگی کنند. در حالی که شما برای Enter باید true رو برگردونید. با comboBox1.KeyDown کاری نداشته باشید و کدش رو حذف کنید.
        protected override bool ProcessDialogKey(Keys keyData)
        {
            if (keyData == Keys.Enter)
            {
                ProcessTabKey(true);
                return true;
            }
            return base.ProcessDialogKey(keyData);
        }