- - PR -
[VB.NET] F2キーを押すとDataGridのスクロールバーが消える
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-08-16 11:02
いつもお世話になっております。
VB.NETでWindowsFormアプリを作成しています。 コードは以下のようになっています。 また読み込んでいるデータベースは「test」というテーブルに「文字」というカラムがあります。
このコードを実行してすぐに、F2→F1の順でキーを押すとDataGridのスクロールバーが消えてしまいます。 もし解決策や問題点等が分かる方がいらっしゃいましたら、ご教授の程よろしくお願いします。 ■追記 使用しているコンポーネントは DataGrid1 (DataGrid) TextBox1 (TextBox) OleDbConnection1 (OleDbConnection) OleDbDataAdapter1 (OleDbDataAdapter) DsTest1 (DsTest という名前でOleDbDataAdapter1から生成されたデータセット) になります。 [ メッセージ編集済み 編集者: クリス 編集日時 2004-08-16 11:14 ] | ||||
|
投稿日時: 2004-08-16 13:55
再現試験をしていないのでわかっていることだけを・・・
F2はセルをダブルクリックするのと同じ動作になります。 行選択時はどうなるんでしょうか? その辺に問題は無いでしょうか? <参考ページ> Windows フォームの DataGrid コントロール内の移動に使用できるキーボード ショートカット http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vbgrfkeyboardshortcutsfordatagrid.asp _________________ えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12 えムナウのプログラミングのページ Blog1 Blog2 | ||||
|
投稿日時: 2004-08-16 14:20
>えムナウ様
>>F2はセルをダブルクリックするのと同じ動作になります。 >>行選択時はどうなるんでしょうか? その辺に問題は無いでしょうか? それについても検証しましたが、ダブルクリックではこの現象は起きませんでした。 おそらくダブルクリックした場合はDataGridのPaintがハンドルするため、コードに書いてある通りに選択モードを強制的に変更してしまいF2キーを押したときとは違う状況になってしまって居るのだと思います。 ・・・と、ここまで書いたところで「じゃあF1キーが押されたときにも同じように強制的に変更してしまえば良いのではないか」と思い当たりました。 試してみたところ、見事に解決しました(やや無理矢理な方法の気もしますが)。 えムナウ様、ありがとうございました。 ■追記 ただ、どういう理由でこのような現象が起きたのかがよく分からないと言うのは不安なので、もし知っている方が居たらご教授願います。 [ メッセージ編集済み 編集者: クリス 編集日時 2004-08-16 14:53 ] | ||||
|
投稿日時: 2004-08-16 14:55
処理的にはF2の処理が終わった後にやったほうがいいと思うんですが。
そうするとF2以外のほかのキーでの処理も考えなくてはいけなくなるので、 F1でいいのではないかと思います。 決して無理やりではないと思います。 コメントにそうした理由を書いておくとなおさらいいと思います。 >えムナウ様 様はやめてください。こそばゆいです。 「さん」でいいです。 #ここの皆さんそうだとおもいますが。 _________________ えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12 えムナウのプログラミングのページ Blog1 Blog2 | ||||
|
投稿日時: 2004-08-16 15:28
>えムナウさん
>>処理的にはF2の処理が終わった後にやったほうがいいと思うんですが。 >>そうするとF2以外のほかのキーでの処理も考えなくてはいけなくなるので、 >F1でいいのではないかと思います。 それも考えたのですが、そもそもこのコードの方法ではF2キーのキーイベントが取得できないのでF1キーの方で処理しました。ちなみにF5キーも取得できません。F2キーはデフォルトで機能が割り当てられてるからだと考えても、F5キーが駄目な理由はよく分かりません・・・。 >様はやめてください。こそばゆいです。 ごめんなさい。今度から「さん」にしてみたいと思います。 |
1