次のコードがあります。これは、ユーザーがメモテキストエディタで新しい行を記述できないようにするためのものです。
private void m_commentMemoEdit_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData.HasFlag(Keys.Enter))
{
e.SuppressKeyPress = true;
}
}
それは実際にはEnterが挿入されるのを防ぎますが、奇妙なことに、他のキーも挿入されるのを防ぎます。これまでのところ、キー「O」、「M」、「/」、および「-」も「キャッチ」されていることがわかりました。
更新:次のコードは私が必要とすることを行います:
private void m_commentMemoEdit_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == (int)Keys.Return)
{
e.SuppressKeyPress = true;
}
}
しかし、私はまだ前のコードが機能しないことを理解していません、そしてこれは機能します。
私はSystem.Windows.Forms.Keys
列挙型を調べましたが、手がかりは見つかりませんでした(ただし、これは奇妙に構築された列挙型の1つであると言わなければなりません)。なぜこれが起こっているのか誰かが説明できますか?