DOBON.NETプログラミング道掲示板
(現在 過去ログ5 を表示中)
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
[
最新記事及び返信フォームをトピックトップへ
]
[ トピック内全6記事(1-6 表示) ] <<
0
>>
■35125
/ inTopicNo.1)
DatagridViewでファンクションキーを止めたい
▼
■
□投稿者/ はる
一般人(9回)-(2022/08/23(Tue) 20:26:12)
環境/言語:[Windows10 C# ]
分類:[.NET]
いつもお世話になります。
DataGridViewで行を選択し、ファンクションキーの「F4」を押したら
行削除としているんですが、勝手に並び変わってしまいます。
DataGridViewの既定のファンクションキーだとか。
ヘッダクリックの並び替えは残したいのでSortModeは止めれません。
ファンクションキーの動作を止めることはできませんか?
引用返信
削除キー/
編集
削除
■35126
/ inTopicNo.2)
Re[1]: DatagridViewでファンクションキーを止めたい
▲
▼
■
□投稿者/ Hongliang
大御所(632回)-(2022/08/23(Tue) 20:52:31)
https://docs.microsoft.com/ja-jp/dotnet/desktop/winforms/controls/default-keyboard-and-mouse-handling-in-the-windows-forms-datagridview-control
こちらによれば、F4キーはコンボボックス列のセルを編集モードにしてドロップダウンを開く、という機能であり、ソートとは関係ないように見えます。
実際簡単に試してみると、F4キーを押しても特にソート状態に変化はなく、コンボボックス列の場合は上記リンク先通りに編集モードに入ります。
> DataGridViewの既定のファンクションキーだとか。
こちらはどこからの情報でしょうか?
作成されているアプリケーションにおけるF4キーの機能は、そのアプリケーションで作りこまれているものではないでしょうか。
引用返信
削除キー/
編集
削除
■35127
/ inTopicNo.3)
Re[2]: DatagridViewでファンクションキーを止めたい
▲
▼
■
□投稿者/ はる
一般人(10回)-(2022/08/23(Tue) 21:07:47)
■
No35126
に返信(Hongliangさんの記事)
> https://docs.microsoft.com/ja-jp/dotnet/desktop/winforms/controls/default-keyboard-and-mouse-handling-in-the-windows-forms-datagridview-control
> こちらによれば、F4キーはコンボボックス列のセルを編集モードにしてドロップダウンを開く、という機能であり、ソートとは関係ないように見えます。
> 実際簡単に試してみると、F4キーを押しても特にソート状態に変化はなく、コンボボックス列の場合は上記リンク先通りに編集モードに入ります。
すいません、間違えました「F3」です。
Form_KeyDownで記載しているF3の処理は実行されるんですが、
おまけに並び替えもされてしまうので、これを止めたいんです。
引用返信
削除キー/
編集
削除
■35128
/ inTopicNo.4)
Re[3]: DatagridViewでファンクションキーを止めたい
▲
▼
■
□投稿者/ Hongliang
大御所(633回)-(2022/08/23(Tue) 21:18:42)
イベントハンドラ中で
e.Handled = true
のようにすれば、既定の処理が行われなくなります。
なお前掲のページにあるように、DataGridView自身のKeyDownイベントでは編集モードでのキー入力には対応できないのでご注意ください。
引用返信
削除キー/
編集
削除
■35129
/ inTopicNo.5)
Re[4]: DatagridViewでファンクションキーを止めたい
▲
▼
■
□投稿者/ はる
一般人(11回)-(2022/08/23(Tue) 21:45:15)
■
No35128
に返信(Hongliangさんの記事)
できました!ありがとうございました。
解決
済
み!
引用返信
削除キー/
編集
削除
■35130
/ inTopicNo.6)
Re[3]: DatagridViewでファンクションキーを止めたい
▲
▼
■
□投稿者/ 魔界の仮面弁士
大御所(1441回)-(2022/08/23(Tue) 22:49:26)
■
No35127
に返信(はるさんの記事)
>>https://docs.microsoft.com/ja-jp/dotnet/desktop/winforms/controls/default-keyboard-and-mouse-handling-in-the-windows-forms-datagridview-control
> すいません、間違えました「F3」です。
> Form_KeyDownで記載しているF3の処理は実行されるんですが、
> おまけに並び替えもされてしまうので、これを止めたいんです。
.NET Framework 4.7.2 以降において、F3 で並び替えが行われるのを止めるために
(1) F3 並び替えが行われない ".NET Framework 4.7.1 以下" を用いる
(2) アプリケーションの構成ファイルの runtime/AppContextSwitchOverrides で
4.7.2 以降のアクセシビリティの強化を無効化する
(3) AppContext.SetSwitch メソッドで、4.7.2 以降のアクセシビリティの強化を無効化する
という選択肢もありますね。
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=30447
もっとも今回の対応としては、 Hongliang さんが書かれているように
e.Handled を使う方が良いでしょうね。
解決
済
み!
引用返信
削除キー/
編集
削除
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-