- PR -

Windowsアプリケーション上でIEと同じ動作をさせたい

1
投稿者投稿内容
amalia
会議室デビュー日: 2006/10/13
投稿数: 5
投稿日時: 2006-10-13 11:59
初めて投稿する初心者です。

現在VS2005、C#にて上記Windowsアプリケーションを作成しています。
フォーム上にはIEとほぼ同じMenustrip、combobox(アドレスを表示する為)、Webbrowserがあります。
MenuStripはスマートタグに表示される「標準項目の挿入」を使用しています。

お伺いしたいのは、IEにもあるメニューバーの「編集」→「切り取り」、「コピー」、「貼り付け」についてです。

1.MenuStripのスマートタグで「標準項目の挿入」をしてもそれぞれのボタンの動作内容は最初から用意されていないですよね?(そのままでは動作しないと思っているのですが、念のため確認です)
2.1が無理なら「切り取り」、「コピー」、「貼り付け」動作をClipboardクラスを使用して自分で書こうとしています。アドレスバーとして使っているComboboxのTextの一部を選択して(たとえばhttp://www.abc.co.jpの"abc"をマウスで選択状態にする)その選択状態にある文字列が何であるかをまずは取得⇒それをClipboardにSetする だと思いますが、現在表示しているTextの一部を選択状態にしてその文字列が何かを取得するようなメンバが無いように思います。どうすれば実現できますか。WebBrowser上の現在選択状態にあるデータを「コピー」したい場合も現在選択されているデータというのをどのように取得すればいいのでしょうか。

文章だらけになりわかりにくくてすみません。よろしくご教授願います。
うにくま
ベテラン
会議室デビュー日: 2005/11/05
投稿数: 82
投稿日時: 2006-10-13 12:57
SelectedTextプロパティで選択状態の文字列を取得できます。
amalia
会議室デビュー日: 2006/10/13
投稿数: 5
投稿日時: 2006-10-13 13:00
SelectedTextだとドロップダウンで選択したTextの選択文字列がとれますよね?選択した一部は取れなかったのですが…。
amalia
会議室デビュー日: 2006/10/13
投稿数: 5
投稿日時: 2006-10-13 13:24
すみません。SelectedTextでとれました。ご迷惑をおかけしました。
うにくま
ベテラン
会議室デビュー日: 2005/11/05
投稿数: 82
投稿日時: 2006-10-13 13:59
TextBoxコントロールと微妙に動作が違うので分かり難いですよね。

TextBoxコントロールの場合は、フォーカスが移動してもSelected**プロパティから取得できますが、
ComboBoxコントロールの場合は、フォーカスが移動したらSelected**プロパティから取得できなくなります。
HIRO
大ベテラン
会議室デビュー日: 2002/06/21
投稿数: 109
投稿日時: 2006-10-13 15:42
テキストボックスのHideSelectionプロパティが、コンボボックスにもあれば良いと思うのは私だけですかね
_________________
--------------------------------------------
HIRO's.NET PowerShell,VB.NET,C#のTipsを掲載しています
HIRO's.NET Blog PowerShell,VB.NET,C#を中心とした技術ネ
うにくま
ベテラン
会議室デビュー日: 2005/11/05
投稿数: 82
投稿日時: 2006-10-16 16:38
WebBrowserコントロール上で現在選択されているオブジェクトは、
コード:
object o;
wb.Document.ExecCommand("Copy", false, ref o);


でクリップボードへコピーされます。(※Clipboardクラスを使用する必要はありません。)

詳しくはヘルプのHtmlDocumentクラスを参照してください。
1

スキルアップ/キャリアアップ(JOB@IT)