DOBON.NET DOBON.NETプログラミング掲示板過去ログ

コントロールへのキー送信

環境/言語:[C#]
分類:[.NET]

いつも参考にさせていただいております。

あるコントロールにキーを送信するにはどうしたよいのでしょうか?

例1)ボタンを押したらテキストボックスがPageDownする
例2)フォームでPageDownを押下したらテキストボックスがPageDownする

これを実現するにはどのようにしたらよいのでしょうか?

ご存知の方、ご教授願います。
■No1680に返信(ひろさんの記事)
> いつも参考にさせていただいております。
>
> あるコントロールにキーを送信するにはどうしたよいのでしょうか?
>
> 例1)ボタンを押したらテキストボックスがPageDownする
> 例2)フォームでPageDownを押下したらテキストボックスがPageDownする

.NET Frameworkの機能のみを使って簡単に済ますということであれば、Focusでテキストボックスにフォーカスを移動し、SendKeys.Sendでキーを送信するということになるでしょう。

TextBox1.Focus();
SendKeys.SendWait("{PGDN}");
■No1705に返信(管理人さんの記事)
>
> .NET Frameworkの機能のみを使って簡単に済ますということであれば、Focusでテキストボックスにフォーカスを移動し、SendKeys.Sendでキーを送信するということになるでしょう。
>

ありがとうございます。Windowsではこの方法でOKでしたが、
CE(.NET Compact Framework )では SendKeysは使用できないようです。

もしよろしければCEでの実現方法もご教授願いませんでしょうか?

最初にCEについての記述が無く、申し訳ありません。

よろしくお願いいたします。
■No1708に返信(ひろさんの記事)

> ありがとうございます。Windowsではこの方法でOKでしたが、
> CE(.NET Compact Framework )では SendKeysは使用できないようです。
>
> もしよろしければCEでの実現方法もご教授願いませんでしょうか?

もっと簡単な方法があるのかもしれませんが、SendMessage関数を使うこと位しか思いつきません。

・Microsoft Windows CE .NET 4.2 - SendMessage
http://msdn.microsoft.com/library/en-us/wceui40/html/cerefSendMessage.asp

DOBON.NET | プログラミング道 | プログラミング掲示板