質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

459閲覧

C# WebBrowserを継承したカスタムコントロールをToolStripContainer内に配置するとマウスによる文字選択が出来なくなる

ware

総合スコア27

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/11/05 02:34

C#でWindowsフォームアプリケーションを作成しています。
HTMLを入力できるWYSIWYGエディタが必要になったため、WebBrowserコントロールにCLEditorを読み込んで実現し、それをカスタムコントロールにしました。

普通にフォームに張り付ける分には、想定通りに動作するのですがToolStripContainerのContentPanel内に設置するとマウスによる文字選択がうまく出来なくなります。
例えば、
以下図の外枠がカスタムコントロールの入力エリアとし、「aaaaaa改行aaaaaa」と入力した時に内側の四角の部分から文字をマウスで選択しようとすると選択できません。
┌──────────────────────┐
|┌────────────────────┐|
||aaaaaa                 ||
||aaaaaa                 ||
|└────────────────────┘|
|☆                     |
|                      |
└──────────────────────┘

ToolStripContainerのContentPanel内に設置し、マウスによる文字選択もできるようにしたいのですが…
原因として何が考えられるのでしょうか?

試したこと

・文字選択ではなく、クリックによる入力カーソルの位置変更は出来るのでマウスクリック自体は利いています。
・☆の位置から始めるとマウスで文字選択が出来ます。
・←↑↓→キー+Shiftを使用すると文字は選択できます。
・Ctrl+Aで文字を全選択できます。
ただし、全選択した後に内側の四角の部分をクリックしても全選択が解除されません。
☆の位置をクリックすると全選択が解除されます。
・カスタムコントロールではなく、WebBrowserを配置しCLEditorを読み込んだ場合はマウスで文字選択が出来ます。
※FormのLoadイベントで以下のように読み込んでいます。
string fullPath = System.IO.Path.GetFullPath(@".\CLEditor\index.html");
this.webBrowser1.Url = new Uri(fullPath);
this.webBrowser1.Refresh();
・カスタムコントロールをToolStripContainer外に配置するとマウスで文字選択が出来ます。
・カスタムコントロールにCLEditorではなく「https://www.google.co.jp/」を読み込ませた場合、検索用のテキストエリアはマウスで文字選択できます。

補足情報(FW/ツールのバージョンなど)

VisualStudio2017

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/11/05 03:04

Windowsフォームですよね?JavaScriptはどのように関係しているのでしょうか
ware

2018/11/05 03:34

CLEditorがJavaScriptで動作していると思い、タグをつけさせていただきました。
guest

回答1

0

自己解決

カスタムコントロールのコンストラクタのInitializeComponent();を削除したら治りました。
詳細な原因は理解できてませんが…。

投稿2018/11/08 11:32

ware

総合スコア27

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問