|
分類:[VB.NET/VB2005 以降]
お願いします。 VB2008で作成されたMDIフォームのアプリの改修を行っているのですが、 子フォームのテキストボックス内でCtrl+Cで文字をコピーしようとしても クリップボードにコピーされません。
色々調べていくうちに、MDI親フォームのメニューバー(MenuStrip)のアイテムの中で ShortcutKeysプロパティにCtrl+Cを設定しているメニューアイテムがあり、 このメニューのクリックイベントが発生してしまっているようです。 (このイベントではアクティブな子フォームが条件に合致する場合、この子フォームで 特別なコピー操作を行っていました。)
このメニューアイテムを削除するか、ShortcutKeysプロパティを空にすれば、 子フォームのテキストボックス内でCtrl+Cを行うことによりクリップボードへのコピーが なされることは確認しています。
もし、Ctrl+Cを行った場合で、条件を満たさない場合にはこのメニューのクリックイベントを 発生させず、テキストボックス内の選択文字をコピーできるようにするには どのようにすればよいでしょうか?
アクティブな子フォームが変わったタイミングで、Ctrl+Cを設定したメニューアイテムの ShortcutKeysプロパティを差替える、という稚拙な対処しか思いつきません。
皆様のお知恵を拝借したく、よろしくお願い申し上げます。
|