私はこの方法はあなたの問題のために非常に賢いルーチンだと思います。この手順では、Tabキーを押しても確認できます。これは、から直接切り取ら方法である:
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.isinputkey.aspx
あなたは単にKey.EnterマイクロソフトサンプルでKeys.Tabを変更することで、右にしています。このテキストボックスをAutoCompleteルーチンと組み合わせて使用すると、コンストラクタの外側またはコンストラクタのオーバーロード内でインスタンス化すると便利です。テキストボックスのインスタンス化は次のようになります。 ReturnTextBox returntextbox = new ReturnTextBox();
using System.Windows.Forms;
public class Form1 : Form
{
public Form1()
{
FlowLayoutPanel panel = new FlowLayoutPanel();
ReturnTextBox returntextbox = new ReturnTextBox();
returntextbox.Text = "returntextbox";
panel.Controls.Add(returntextbox);
TextBox textBox1 = new TextBox();
textBox1.Text = "Normal TextBox";
panel.Controls.Add(textBox1);
this.Controls.Add(panel);
}
}
class ReturnTextBox : TextBox
{
protected override bool IsInputKey(Keys keyData)
{
if (keyData == Keys.Enter)
{
return true;
}
else
{
return base.IsInputKey(keyData);
}
}
protected override void OnKeyDown(KeyEventArgs e)
{
if (e.KeyData == Keys.Enter)
{
this.SelectedText = " ";
}
else
{
base.OnKeyDown(e);
}
}
}