作成日: 2022/04/20 最終更新日: 2022/04/21
文書種別
不具合
状況
現象確認済み
詳細
この現象は、フォームにCalendarGridとInputManのGcShortcutコントロールを配置した場合に発生します。
GcShortcutコントロールで割り当てたショートカットキーが、アプリケーションを実行してしばらくすると機能しなくなることがあります。
※ガベージコレクション発生後に機能しなくなります。
【再現手順】
GcShortcutコントロールで割り当てたショートカットキーが、アプリケーションを実行してしばらくすると機能しなくなることがあります。
※ガベージコレクション発生後に機能しなくなります。
【再現手順】
- TextBoxを2つ、Button、InputManのGcShortcutコントロール、CalendarGridを配置します
- 以下のサンプルコードをコピーして実行します
- [Enter]キーを押します - TextBoxのフォーカスが次のコントロールに移動します
- Buttonをクリックしてガベージコレクションを実行します
- 3.の手順を繰り返します - TextBoxからフォーカスが移動しません
◎サンプルコード(VB)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TextBoxにショートカットキーを割り当てる
GcShortcut1.GetShortcuts(TextBox1).Add(Keys.Enter, GcShortcut1, "NextControl")
GcShortcut1.GetShortcuts(TextBox2).Add(Keys.Enter, GcShortcut1, "NextControl")
'CalendarGridにInputManセルを設定(この例ではCalendarGcNumber型セル)
GcCalendarGrid1(DateTime.Today)(0, 0).CellType = New InputManCell.CalendarGcNumberCellType()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'ガベージコレクションを実行
GC.Collect()
TextBox1.Focus()
End Sub