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

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

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

Re[9]: ウェブブラウザで編集中にドラッグ&ドロップを禁


(過去ログ 69 を表示中)

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

■40264 / inTopicNo.1)  ウェブブラウザで編集中にドラッグ&ドロップを禁止
  
□投稿者/ RT (92回)-(2009/08/22(Sat) 14:41:47)

分類:[C#] 

たびたびお世話になります。RTです。

C#を始めて、1か月になります。Visual C# Express Edition で、開発を行っております。

質問なのですが、ウェブブラウザで、

webBrowser_Main.Document.Body.SetAttribute("contentEditable", "true");

↑で、編集状態になったページの、画像などドラッグ&ドロップ出来るデータを、
ドラッグ&ドロップ出来ないようにするためには、どうすれば良いでしょうか?

http://www.atmarkit.co.jp/fdotnet/dotnettips/384expdragdrop/expdragdrop.html
↑のページで↓のようなコードを見つけました。

private void treeView1_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e)
{
string path = GetPathFromNode(((TreeNode)e.Item));
string[] paths = { path };
DataObject dataObj = new DataObject(DataFormats.FileDrop, paths);
DragDropEffects effect =
DragDropEffects.Copy |DragDropEffects.Move;
treeView1.DoDragDrop(dataObj, effect);
}

ウェブブラウザで編集中の画像などを、ドラッグしたときのイベントなどがあれば上のコードは使えそうなのですが。

引用返信 編集キー/
■40275 / inTopicNo.2)  Re[1]: ウェブブラウザで編集中にドラッグ&ドロップを禁止
□投稿者/ ?? (3回)-(2009/08/23(Sun) 00:37:16)
ondragstart="return false;" を C# でやれ。

引用返信 編集キー/
■40278 / inTopicNo.3)  Re[2]: ウェブブラウザで編集中にドラッグ&ドロップを禁止
□投稿者/ RT (94回)-(2009/08/23(Sun) 08:43:34)
2009/08/23(Sun) 08:59:52 編集(投稿者)

webBrowser_Main.Document.Body.Drag += new HtmlElementEventHandler(Body_Drag);

void Body_Drag(object sender, HtmlElementEventArgs e)
{
画像をドラッグした時に元に戻す処理
}

↑で試行錯誤してみましたが、だめでした。うまくやれば行けそうな気がするのですが、ダメでしょうか?

public interface ISelectableItem
{
bool OnDragStart(ISelectableItem item, MouseEventArgs e);
   }

↑OnDragStartで検索したページを見て見つけましたが、使えるかどうかは疑問です。
見つけたページはこちら↓

http://help.jp.infragistics.com/Help/NetAdvantage/Win/2009.1/CLR2.0/HTML/Infragistics2.Win.v9.1~Infragistics.Win.ISelectionManager~OnDragStart.html
引用返信 編集キー/
■40279 / inTopicNo.4)  Re[1]: ウェブブラウザで編集中にドラッグ&ドロップを禁止
□投稿者/ 魔界の仮面弁士 (1245回)-(2009/08/23(Sun) 09:46:04)
No40264 (RT さん) に返信
> webBrowser_Main.Document.Body.SetAttribute("contentEditable", "true");
> ↑で、編集状態になったページの、画像などドラッグ&ドロップ出来るデータを、
> ドラッグ&ドロップ出来ないようにするためには、どうすれば良いでしょうか?

画像ファイルやHTMLファイル等が、エクスプローラから WebBrowser 上へと
ドロップされるの防ぎたい、という意味であれば、

 ((SHDocVw.WebBrowser)webBrowser1.ActiveXInstance).RegisterAsDropTarget = false;

を、WebBrowser.Navigate 前に行っておけば OK です。
(ただし、WebBrowser のロードが完了する前だと、ActiveXInstance が null に
なってしまいますので、これは WebBrowser のロード完了後に行う必要があります)


あるいは、編集モードにおいて画像の位置を移動されるのが嫌だという意味であれば、
 (案1) <body>全体の contentEditable を true にするのではなく、
  編集させたいタグの contentEditable だけを true にする。
 (案2) 全体としては contentEditable を true にしておくが、
  編集させたくないタグのみは contentEditable を false にする。
のいずれかを行えば OK です。ただし、「編集不可能に設定されたタグ」全体の位置を
変更されてしまう可能性がありますので、目的によっては 案1 の方が良いかも知れません。
引用返信 編集キー/
■40280 / inTopicNo.5)  Re[2]: ウェブブラウザで編集中にドラッグ&ドロップを禁止
□投稿者/ RT (95回)-(2009/08/23(Sun) 10:07:15)
No40279 (魔界の仮面弁士 さん) に返信

> あるいは、編集モードにおいて画像の位置を移動されるのが嫌だという意味であれば、
>  (案1) <body>全体の contentEditable を true にするのではなく、
>   編集させたいタグの contentEditable だけを true にする。

案1について:画像はドラッグは禁止にしたいのですが、入れ替えは出来るようにしたいので、
案1では、だめかもしれません。

>  (案2) 全体としては contentEditable を true にしておくが、
>   編集させたくないタグのみは contentEditable を false にする。
> のいずれかを行えば OK です。

webBrowser_Main.Document.Body.

の後あたりのプロパティを全部探って見たのですが、特定のタグのみの編集不可能にするようなプロパティは見当たりませんでした。
引用返信 編集キー/
■40283 / inTopicNo.6)  Re[3]: ウェブブラウザで編集中にドラッグ&ドロップを禁止
□投稿者/ 魔界の仮面弁士 (1246回)-(2009/08/23(Sun) 11:40:01)
No40280 (RT さん) に返信
>> 画像ファイルやHTMLファイル等が、エクスプローラから WebBrowser 上へと
>> ドロップされるの防ぎたい、という意味であれば、
こちらの件は問題無いという事でしょうか?


>>あるいは、編集モードにおいて画像の位置を移動されるのが嫌だという意味であれば、
>> (案1) <body>全体の contentEditable を true にするのではなく、
>>  編集させたいタグの contentEditable だけを true にする。
> 案1について:画像はドラッグは禁止にしたいのですが、入れ替えは出来るようにしたいので、
> 案1では、だめかもしれません。
その入れ替えは、どのようにして行わせるのでしょうか?

ドラッグ & ドロップ では無いとすれば、ユーザーからクリップボード経由で貼り付けてもらうか、
もしくは、C# からのプログラム制御で画像を差し替える事になるかと思います。

で、C# 側から制御するのであれば、WebBrowser が編集モードであるかどうかは
一切関係無いと思いますよ。


>> (案2) 全体としては contentEditable を true にしておくが、
>>  編集させたくないタグのみは contentEditable を false にする。
>>のいずれかを行えば OK です。
> webBrowser_Main.Document.Body.
> の後あたりのプロパティを全部探って見たのですが、

全部調べてみたのですね。それはとても重要な事ではあるのですが、
たとえば ExecCommand メソッドや SetAttribute メソッドなどのように、
その引数に何を指定すると、どのような効果が得られるかといった情報は、
.NET Framework のドキュメントだけ見ても書かれていないため、さらに
調査範囲を広げなければなりません。

以前も書きましたが、WebBrowser の場合、マネージ化されていない部分も多いので、
細かい情報は、アンマネージの方のドキュメントにまで目を通す必要がありますし、
「.」の後に表示される一覧だけで、全ての機能を網羅できるわけでも無いのです。



> 特定のタグのみの編集不可能にするようなプロパティは見当たりませんでした。

それを実現するには、contentEditable を "false" に設定すれば良いと書きましたよね……?


理解度が少々不安になってきたので、少し確認させてください。


(1) HTML のタグにどのような物があるかはご存知ですか?
  (<body> とか <head> とか <input type=image> とか <img> とか)

(2) .Document.Body プロパティが、HTML の <body> を操作するためのものである事は
  理解されていますか?

(3) .Document.Body や .Document.GetElementFromPoint や .Document.GetElementById などが、
  それぞれのタグ(要素)を HtmlElement クラスとして返す事は把握されていますか?

(4) 今回使用している contentEditable が、<body> 以外にも利用できる事はご存知でしたか?

(5) contentEditable は文書全体に対して摘要されるわけでは無く、要素ごとに
  個別に設定可能である事はご存知ですか?

(6) contentEditable を設定できる要素と、設定できない要素がある事はご存知ですか?

(7) contentEditable に指定できる値が、"true" / "false" / "inherit" の
 3 種類である事は調査済みですか?

(8) その 3 種類の値のそれぞれの意味を説明できますか?

(9) 上位のタグとその子孫のタグとで contentEditable の設定値が異なっていた場合、
  どのような動作になるのかを、実際に試して確認してみましたか?


で、上記のうち、(4) 以降の答えが書かれているのが、MSDN でいえば
http://msdn.microsoft.com/en-us/library/ms537837.aspx
にあたります。難解かも知れませんが、一つ一つ調べてみてください。


上記の設問が分かれば、先の No40279 の回答内容を理解できるかと思います。
引用返信 編集キー/
■40300 / inTopicNo.7)  Re[4]: ウェブブラウザで編集中にドラッグ&ドロップを禁止
□投稿者/ RT (100回)-(2009/08/23(Sun) 18:37:47)
No40283 (魔界の仮面弁士 さん) に返信

> で、上記のうち、(4) 以降の答えが書かれているのが、MSDN でいえば
> http://msdn.microsoft.com/en-us/library/ms537837.aspx
> にあたります。難解かも知れませんが、一つ一つ調べてみてください。

教えて頂いたMSDNのURLから、(4),(5)つまり、編集させたくないタグのみは contentEditable を false にする。に関するヒントを拾う方法をずっと試行錯誤して探しましたが、
見つかりませんでした。アドバイスお願いします。
引用返信 編集キー/
■40325 / inTopicNo.8)  Re[5]: ウェブブラウザで編集中にドラッグ&ドロップを禁
□投稿者/ よねKEN (408回)-(2009/08/24(Mon) 10:02:02)
2009/08/24(Mon) 10:09:09 編集(投稿者)

この辺は門外漢なので、今までコメントしていませんが、興味深く拝見しております。

No40300 (RT さん) に返信
> ■No40283 (魔界の仮面弁士 さん) に返信
>
>>で、上記のうち、(4) 以降の答えが書かれているのが、MSDN でいえば
>>http://msdn.microsoft.com/en-us/library/ms537837.aspx
>>にあたります。難解かも知れませんが、一つ一つ調べてみてください。
>
> 教えて頂いたMSDNのURLから、(4),(5)つまり、編集させたくないタグのみは contentEditable を false にする。に関するヒントを拾う方法をずっと試行錯誤して探しましたが、
> 見つかりませんでした。アドバイスお願いします。

自分の要望を言う前に、まず聞かれていることに答えていただいた方がよいと思いますよ。
No40283 で 魔界の仮面弁士さんが、以下のように質問されているわけですが、

> 理解度が少々不安になってきたので、少し確認させてください。

(1)〜(9)に対してそれぞれの理解度はどうなんでしょうか?

引用返信 編集キー/
■40328 / inTopicNo.9)  Re[6]: ウェブブラウザで編集中にドラッグ&ドロップを禁
□投稿者/ RT (101回)-(2009/08/24(Mon) 10:45:01)
>自分の要望を言う前に、まず聞かれていることに答えていただいた方がよいと思いますよ。>>.
>(1)〜(9)に対してそれぞれの理解度はどうなんでしょうか?

割愛してすいませんでした。



> 理解度が少々不安になってきたので、少し確認させてください。
>
>
> (1) HTML のタグにどのような物があるかはご存知ですか?
>   (<body> とか <head> とか <input type=image> とか <img> とか)

知っています。例(<TD>、<A>)

> (2) .Document.Body プロパティが、HTML の <body> を操作するためのものである事は
>   理解されていますか?

はい。

> (3) .Document.Body や .Document.GetElementFromPoint や .Document.GetElementById などが、
>   それぞれのタグ(要素)を HtmlElement クラスとして返す事は把握されていますか?

確認致しました。

> (4) 今回使用している contentEditable が、<body> 以外にも利用できる事はご存知でしたか?

どうやって利用出来るのかわかりません。

> (5) contentEditable は文書全体に対して摘要されるわけでは無く、要素ごとに
>   個別に設定可能である事はご存知ですか?

設定の仕方がわかりません。

> (6) contentEditable を設定できる要素と、設定できない要素がある事はご存知ですか?

どのよう要素が設定出来ない要素なのかわかりません。

> (7) contentEditable に指定できる値が、"true" / "false" / "inherit" の
>  3 種類である事は調査済みですか?

はい。

> (8) その 3 種類の値のそれぞれの意味を説明できますか?

編集ON,編集OFF、継承ですね。

> (9) 上位のタグとその子孫のタグとで contentEditable の設定値が異なっていた場合、
>   どのような動作になるのかを、実際に試して確認してみましたか?

タグごとの設定がわからないので、まだ確認しておりません。

引用返信 編集キー/
■40329 / inTopicNo.10)  Re[7]: ウェブブラウザで編集中にドラッグ&ドロップを禁
□投稿者/ 通りすがりん (1回)-(2009/08/24(Mon) 10:48:00)
No40328 (RT さん) に返信
>>(4) 今回使用している contentEditable が、<body> 以外にも利用できる事はご存知でしたか?
>
> どうやって利用出来るのかわかりません。
>
>>(5) contentEditable は文書全体に対して摘要されるわけでは無く、要素ごとに
>>  個別に設定可能である事はご存知ですか?
>
> 設定の仕方がわかりません。
>
>>(6) contentEditable を設定できる要素と、設定できない要素がある事はご存知ですか?
>
> どのよう要素が設定出来ない要素なのかわかりません。
>>(9) 上位のタグとその子孫のタグとで contentEditable の設定値が異なっていた場合、
>>  どのような動作になるのかを、実際に試して確認してみましたか?
>
> タグごとの設定がわからないので、まだ確認しておりません。
>

上記のわからないことについて検索したり先輩に聞いたり、本屋で本を読んだりして学習してください。
「わかりません、教えてください」を連呼しているようですと学習意欲のない教えてクンだと思われますよ。
引用返信 編集キー/
■40331 / inTopicNo.11)  Re[8]: ウェブブラウザで編集中にドラッグ&ドロップを禁
□投稿者/ RT (102回)-(2009/08/24(Mon) 11:09:57)
2009/08/24(Mon) 11:11:38 編集(投稿者)
2009/08/24(Mon) 11:11:05 編集(投稿者)

> 上記のわからないことについて検索したり先輩に聞いたり、本屋で本を読んだりして学習してください。
> 「わかりません、教えてください」を連呼しているようですと学習意欲のない教えてクンだと思われますよ。

それなりに調べさせてもらった結果、わからないと言ってます。
ちゃんと記事を読んでもらえばわかりますが、教えてもらったページに対して、情報の引き出し方がわからないと言ってますので。
引用返信 編集キー/
■40333 / inTopicNo.12)  Re[9]: ウェブブラウザで編集中にドラッグ&ドロップを禁
□投稿者/ 通りすがり (51回)-(2009/08/24(Mon) 11:29:35)
No40331 (RT さん) に返信
> それなりに調べさせてもらった結果、わからないと言ってます。
> ちゃんと記事を読んでもらえばわかりますが、教えてもらったページに対して、情報の引き出し方がわからないと言ってますので。
あなたの言う「それなり」がどの程度のそれなりなのか、わからないと言ってます。
ちゃんと記事を読んでもらえば糸口は掴めると思いますが、提示された回答に対して、中身をしっかり読んでいるように見えないと言ってますので。
引用返信 編集キー/
■40334 / inTopicNo.13)  Re[10]: ウェブブラウザで編集中にドラッグ&ドロップを禁
□投稿者/ バナジウム (1回)-(2009/08/24(Mon) 11:42:09)
No40333 (通りすがり さん) に返信
> ■No40331 (RT さん) に返信


>>上記のわからないことについて検索したり先輩に聞いたり、本屋で本を読んだりして学習してください。
>>「わかりません、教えてください」を連呼しているようですと学習意欲のない教えてクンだと思われますよ。
>>それなりに調べさせてもらった結果、わからないと言ってます。
>>ちゃんと記事を読んでもらえばわかりますが、教えてもらったページに対して、情報の引き出し方がわからないと言ってますので。


2009/08/19(Wed) 15:42:51 編集(投稿者)

>>http://msdn.microsoft.com/ja-jp/library/system.windows.forms.htmlelement.style.aspx
>>あとは zoom:hoge; を文字列として追加してやればいいかと

>↑書いてある内容が難しくて、理解出来ません。


こんな内容返信してるんだから、そういわれても仕方ないんじゃないです?
ここ何日かでいったいいくつのスレを立ててるのでしょうか?
そのスレが解決する前に新たにまたスレを立てて

わからないことはしょうがないと思いますが、質問の仕方とか姿勢って大事だと思います
関係ない返信ですいません。

ま、回答したい人が回答してほかは黙ってるほうがいいですね
スレ汚しすいませんでした。

引用返信 編集キー/
■40336 / inTopicNo.14)  Re[10]: ウェブブラウザで編集中にドラッグ&ドロップを禁
□投稿者/ RT (103回)-(2009/08/24(Mon) 11:48:24)
No40333 (通りすがり さん) に返信
> ■No40331 (RT さん) に返信
>>それなりに調べさせてもらった結果、わからないと言ってます。
>>ちゃんと記事を読んでもらえばわかりますが、教えてもらったページに対して、情報の引き出し方がわからないと言ってますので。
> あなたの言う「それなり」がどの程度のそれなりなのか、わからないと言ってます。
> ちゃんと記事を読んでもらえば糸口は掴めると思いますが、提示された回答に対して、中身をしっかり読んでいるように見えないと言ってますので。

回答で答えられていない質問の内容を見ればわかると思いますが、全部関連しているので、一つの内容がわからないと、4つの質問にこたえられないので、それが中身をちゃんと読んでいないと感じる原因かもしれませんね。
で、その一つの内容を引っぱり出すのに苦労しているんです。
引用返信 編集キー/
■40339 / inTopicNo.15)  Re[11]: ウェブブラウザで編集中にドラッグ&ドロップを禁
□投稿者/ RT (104回)-(2009/08/24(Mon) 11:56:50)
2009/08/24(Mon) 12:09:26 編集(投稿者)
2009/08/24(Mon) 11:58:19 編集(投稿者)
No40334 (バナジウム さん) に返信
> ■No40333 (通りすがり さん) に返信
>>■No40331 (RT さん) に返信
>
>
>
> 2009/08/19(Wed) 15:42:51 編集(投稿者)
>
> >>http://msdn.microsoft.com/ja-jp/library/system.windows.forms.htmlelement.style.aspx
> >>あとは zoom:hoge; を文字列として追加してやればいいかと
>
> >↑書いてある内容が難しくて、理解出来ません。
>
> こんな内容返信してるんだから、そういわれても仕方ないん
>じゃないです?

まだ質問をし始めた頃の過去の記事を引用されて言われても困るのですが。
だんだんくだらない質問は減って来ていると思いますよ。
私自身、反省して調べる力をつける努力をしている最中です。


引用返信 編集キー/
■40350 / inTopicNo.16)  Re[12]: ウェブブラウザで編集中にドラッグ&ドロップを禁
□投稿者/ ぎゃらりー1 (1回)-(2009/08/24(Mon) 12:53:03)
No40339 (RT さん) に返信

{snip}

>> 2009/08/19(Wed) 15:42:51 編集(投稿者)
>>
>>>>http://msdn.microsoft.com/ja-jp/library/system.windows.forms.htmlelement.style.aspx
>>>>あとは zoom:hoge; を文字列として追加してやればいいかと
>>
>>>↑書いてある内容が難しくて、理解出来ません。
>>
>>こんな内容返信してるんだから、そういわれても仕方ないん
> >じゃないです?
>
> まだ質問をし始めた頃の過去の記事を引用されて言われても困るのですが。

{snip}


こんだけ、連投してると、5日前の自分も「はるか昔の青い時代の僕」に思えてくるのでしょうね。


>だんだんくだらない質問は減って来ていると思いますよ。

質問内容の質は、5日前より向上しているのかもしれませんが、質問の姿勢や回答者へのものの言い方、態度は相変わらず駄目駄目ですね。

あ、「それなり」なんて、 自分の出来る限りのことをし尽くした時には使わない表現ですよ。

みんながみんな こういったQ&A掲示板から知識を得てるわけじゃないんです。 WEBでも本でもまだまだ探しつくしたほうが良いですよ。

(即効で編集したらしく、既に消されてますが)「(Googleさんにたずねたら、結果が)英語のサイトばかりだからわからない」なんて言ってないでさぁ。。。

#ああ、「その英語のわからない僕」も、「過去の記事を引用されても困るのですが。」で片付けられるのかなぁ。。。 orz

引用返信 編集キー/
■40354 / inTopicNo.17)  Re[13]: ウェブブラウザで編集中にドラッグ&ドロップを禁
□投稿者/ RT (105回)-(2009/08/24(Mon) 13:28:35)
No40350 (ぎゃらりー1 さん) に返信

> みんながみんな こういったQ&A掲示板から知識を得てるわけじゃないんです。 WEBでも本でもまだまだ探しつく
>したほうが良いですよ。

だから、探すためのヒントを聞いているんですけど。
引用返信 編集キー/
■40376 / inTopicNo.18)  Re[14]: ウェブブラウザで編集中にドラッグ&ドロップを禁
□投稿者/ ゾロアスター (5回)-(2009/08/24(Mon) 16:55:22)
単語単語をわからなきゃ調べてください

それすらわからないなら諦めてください
引用返信 編集キー/
■40377 / inTopicNo.19)  Re[15]: ウェブブラウザで編集中にドラッグ&ドロップを禁
□投稿者/ RT (106回)-(2009/08/24(Mon) 18:09:47)

>(4) 今回使用している contentEditable が、<body> 以外にも利用できる事はご存知でしたか?

webBrowser_Main.Document.Body.SetAttribute("contentEditable", "true");

webBrowser_Main.Document.ActiveElement.SetAttribute("contentEditable", "true");

webBrowser_Main.Document.CreateElement("").SetAttribute("contentEditable", "true");

↑これくらいしか見つかりませんでした。
引用返信 編集キー/
■40386 / inTopicNo.20)  Re[16]: ウェブブラウザで編集中にドラッグ&ドロップを禁
 
□投稿者/ 通りすがり2 (1回)-(2009/08/24(Mon) 20:39:56)
No40377 (RT さん) に返信
>
> >(4) 今回使用している contentEditable が、<body> 以外にも利用できる事はご存知でしたか?
>
> webBrowser_Main.Document.Body.SetAttribute("contentEditable", "true");
>
> webBrowser_Main.Document.ActiveElement.SetAttribute("contentEditable", "true");
>
> webBrowser_Main.Document.CreateElement("").SetAttribute("contentEditable", "true");
>
> ↑これくらいしか見つかりませんでした。


単純な質問。

今まで Google(か他のエンジン)でどんな検索語(句)使ってます?  

検索語句が漠然としてて、あまたある情報を絞り込めてないだけなのでは? (目の前に宝の隠された山があるのに。)

ヒントをほしい、アドバイスをほしい、と書いてるけど、なんだかんだ言って 限りなくピンポイントな答え(にちかいもの)が誰かから提供されるまで満足できないんじゃないかなぁ?   

ヒントくれ、だとかいってるけど、検索のコツなんて量と経験で、人からキーワードを教えてもらう類のものじゃないと思うけどねぇ。
引用返信 編集キー/

次の20件>
トピック内ページ移動 / << 0 | 1 >>

管理者用

- Child Tree -