私はコンパクト フレームワーク アプリケーションに取り組んでいます。この特定のハードウェア実装にはタッチスクリーンがありますが、そのソフト入力パネルにはボタンが小さすぎて役に立ちません。タイプ入力が必要なフォームが複数あるので、キーパッドのようにボタンを配置したフォームを作成しました。この「キーパッド」フォームを使用するフォームは、モーダル ダイアログです。この「キーパッド」を必要とするダイアログがロードされると、「キーパッド」フォームをモードレスとしてロードします。
private void CardInputForm_Load(object sender, EventArgs e)
{
...
keypadForm = new KeypadForm();
keypadForm.Owner = this;
keypadForm.SetCallback(keyHandler);
keypadForm.Show();
}
SetCallback メソッドは、「キーパッド」フォームにキーストロークの送信先を (デリゲートとして) 伝えます。私が抱えている問題は、モードレスの「キーパッド」フォームが入力を受け取らないことです。期待どおりに表示されますが、ボタンを押すとビープ音が鳴り、キャプションがグレー表示されます。モーダル ダイアログがブロックしているようです。このフォーラムで、モーダル ダイアログでモードレス ダイアログを作成および使用できるという他の投稿を読みました。誰でもこの状況に光を当てることができますか? 私の実装に問題はありますか?