DOBON.NETプログラミング掲示板過去ログ
DataGridでEnterキーを無効にするには
題名: DataGridでEnterキーを無効にするには
著者: アキ
日時: 2005/06/22 15:16:45
ID: 11410
この記事の返信元:
(なし)
この記事への返信:
[11411]
Re[1]: DataGridでEnterキーを無効にするには
アキ
2005/06/22 16:04:26
[解決]
ツリーを表示
環境/言語:[Windows2000 C# Framework1.1]
分類:[.NET]
C#.net でフォームアプリの開発をしています。
DataGridでセルに値を入力後、Enterキーでの確定を無効にしたいと思っています。
DOBON.NET > プログラミング道 > .NET Tips
DataGridのセルに数字のみを入力可能にする
で、通常キーの無効はでき、KeyEventHandlerでCtrlやAltも取得できるのですが
EnterキーやTabキーのイベントが取得できませんでした。
DataGrid上で、Enterキーが押されたときのイベントは
どのように取得すればよいのでしょうか。
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
でEnterキーの入力を取ること自体はできそうなのですが
今度は、DataGrid上のTextBoxにフォーカスがあるかどうかのチェック方法が分かりませんでした。
dataGrid1.Focusedをチェックすると、入力以外の部分を選択時には取れますが
TextBoxを入力中にはfalseのままでした。
DataGridの数値入力後のEnterキーを取得するにはどのようにすればいいでしょうか。
よろしくお願いいたします。
題名: Re[1]: DataGridでEnterキーを無効にするには
著者: アキ
日時: 2005/06/22 16:04:26
ID: 11411
この記事の返信元:
[11410]
DataGridでEnterキーを無効にするには
アキ
2005/06/22 15:16:45
この記事への返信:
(なし)
ツリーを表示
ProcessCmdKeyでTextBoxのフォーカスをチェックすることで解決しました。
お騒がせしました。
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
const int WM_KEYDOWN = 0x100;
if (msg.Msg == WM_KEYDOWN)
{
if( keyCode == Keys.Enter || keyCode == Keys.Tab )
{
for( int i = 0; i < 15; i ++ ) // カラム数分
{
DataGridTextBoxColumn cs = (DataGridTextBoxColumn)dataGridTableStyle1.GridColumnStyles[i];
if( cs.TextBox.Focused == true )
{
// 処理
return true;
}
}
}
}
return base.ProcessCmdKey (ref msg, keyData);
}
解決済み!
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.NET]
C#.net でフォームアプリの開発をしています。
DataGridでセルに値を入力後、Enterキーでの確定を無効にしたいと思っています。
DOBON.NET > プログラミング道 > .NET Tips
DataGridのセルに数字のみを入力可能にする
で、通常キーの無効はでき、KeyEventHandlerでCtrlやAltも取得できるのですが
EnterキーやTabキーのイベントが取得できませんでした。
DataGrid上で、Enterキーが押されたときのイベントは
どのように取得すればよいのでしょうか。
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
でEnterキーの入力を取ること自体はできそうなのですが
今度は、DataGrid上のTextBoxにフォーカスがあるかどうかのチェック方法が分かりませんでした。
dataGrid1.Focusedをチェックすると、入力以外の部分を選択時には取れますが
TextBoxを入力中にはfalseのままでした。
DataGridの数値入力後のEnterキーを取得するにはどのようにすればいいでしょうか。
よろしくお願いいたします。