C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: MDI子フォームでCtrl+Cが効かない


(過去ログ 121 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■72590 / inTopicNo.1)  MDI子フォームでCtrl+Cが効かない
  
□投稿者/ キュイン (1回)-(2014/06/20(Fri) 16:04:01)

分類:[VB.NET/VB2005 以降] 

お願いします。
VB2008で作成されたMDIフォームのアプリの改修を行っているのですが、
子フォームのテキストボックス内でCtrl+Cで文字をコピーしようとしても
クリップボードにコピーされません。

色々調べていくうちに、MDI親フォームのメニューバー(MenuStrip)のアイテムの中で
ShortcutKeysプロパティにCtrl+Cを設定しているメニューアイテムがあり、
このメニューのクリックイベントが発生してしまっているようです。
(このイベントではアクティブな子フォームが条件に合致する場合、この子フォームで
特別なコピー操作を行っていました。)

このメニューアイテムを削除するか、ShortcutKeysプロパティを空にすれば、
子フォームのテキストボックス内でCtrl+Cを行うことによりクリップボードへのコピーが
なされることは確認しています。

もし、Ctrl+Cを行った場合で、条件を満たさない場合にはこのメニューのクリックイベントを
発生させず、テキストボックス内の選択文字をコピーできるようにするには
どのようにすればよいでしょうか?

アクティブな子フォームが変わったタイミングで、Ctrl+Cを設定したメニューアイテムの
ShortcutKeysプロパティを差替える、という稚拙な対処しか思いつきません。

皆様のお知恵を拝借したく、よろしくお願い申し上げます。
引用返信 編集キー/
■72690 / inTopicNo.2)  Re[1]: MDI子フォームでCtrl+Cが効かない
□投稿者/ tocs (41回)-(2014/07/05(Sat) 01:34:00)
tocs さんの Web サイト
No72590 (キュイン さん) に返信
> アクティブな子フォームが変わったタイミングで、Ctrl+Cを設定したメニューアイテムの
> ShortcutKeysプロパティを差替える、という稚拙な対処しか思いつきません。

MDIParent側のModiferキーがCtrl+Cであることを忘れられていたようなので、それを変えるのはダメでしょうか?条件次第でショートカットキーの動作が変わるのは直観性を欠くUIの可能性があります。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -