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

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

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

Re[7]: Webブラウザからの相対座標を取得するには?


(過去ログ 115 を表示中)

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

■67960 / inTopicNo.1)  Webブラウザからの相対座標を取得するには?
  
□投稿者/ C#初心者 (1回)-(2013/09/11(Wed) 21:02:04)

分類:[C#] 

2013/09/11(Wed) 21:06:42 編集(投稿者)

現在、C#にてフォームを作成し、その中にWebブラウザを一つ貼り付けています。

貼り付けているWebブラウザからの相対座標を指定して、
決まった位置にInputBoxを表示させたいのですが、どの様にしたらよいのか分かりません。

例えば、Webブラウザの左上の座標からx方向へ100、y方向へ100の場所にInputBoxを表示しようとした場合

下記の様に記述してもだめでした。
InputBoX("注意事項があります","注意事項","",WebBrowser1.Left+100,WebBrowser1.TOP+100);

これだと、スクリーン座標になってしまうのか、
フォームを移動してしまうと、全く別の位置にInputBoxが表示されてしまいます。

どの様にすれば、固定した位置にInputBoxが表示されますか?

わかるかた教えてください。

よろしくお願い致します。
引用返信 編集キー/
■67961 / inTopicNo.2)  Re[1]: Webブラウザからの相対座標を取得するには?
□投稿者/ まさお (4回)-(2013/09/11(Wed) 21:44:44)
No67960 (C#初心者 さん) に返信
こんばんわ。私もC#初心者です。

> InputBoX("注意事項があります","注意事項","",WebBrowser1.Left+100,WebBrowser1.TOP+100);
このようにしてはいかがでしょうか?

Rectangle clientRect = WebBrowser1.ClientRectangle
InputBoX("注意事項があります","注意事項","",clientRect.Left+100,clientRect.Top+100);

クライアント領域とスクリーン領域というのがあります。
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/377screentoclient/screentoclient.html
引用返信 編集キー/
■67962 / inTopicNo.3)  Re[2]: Webブラウザからの相対座標を取得するには?
□投稿者/ C#初心者 (2回)-(2013/09/11(Wed) 22:09:23)
No67961 (まさお さん) に返信
> ■No67960 (C#初心者 さん) に返信
> こんばんわ。私もC#初心者です。
>
>>InputBoX("注意事項があります","注意事項","",WebBrowser1.Left+100,WebBrowser1.TOP+100);
> このようにしてはいかがでしょうか?
>
> Rectangle clientRect = WebBrowser1.ClientRectangle
> InputBoX("注意事項があります","注意事項","",clientRect.Left+100,clientRect.Top+100);
>
> クライアント領域とスクリーン領域というのがあります。
> ttp://www.atmarkit.co.jp/fdotnet/dotnettips/377screentoclient/screentoclient.html

アドバイスありがとうございます。
残念ながら、結果は同じでした。
引用返信 編集キー/
■67964 / inTopicNo.4)  Re[3]: Webブラウザからの相対座標を取得するには?
□投稿者/ Azulean (206回)-(2013/09/11(Wed) 22:38:22)
No67962 (C#初心者 さん) に返信
> アドバイスありがとうございます。
> 残念ながら、結果は同じでした。

「クライアント領域とスクリーン領域がある」というアドバイスに対しては何かされたのでしょうか。
どのように書き換えたかを提示してください。

(No.67961 のサンプルはそれができていません。PointToScreen が出てこないといけないはずです)
引用返信 編集キー/
■67966 / inTopicNo.5)  Re[4]: Webブラウザからの相対座標を取得するには?
□投稿者/ C#初心者 (5回)-(2013/09/12(Thu) 00:22:40)
2013/09/12(Thu) 01:21:29 編集(投稿者)

No67964 (Azulean さん) に返信
> ■No67962 (C#初心者 さん) に返信
>>アドバイスありがとうございます。
>>残念ながら、結果は同じでした。
>
> 「クライアント領域とスクリーン領域がある」というアドバイスに対しては何かされたのでしょうか。
> どのように書き換えたかを提示してください。
>
> (No.67961 のサンプルはそれができていません。PointToScreen が出てこないといけないはずです)

> どのように書き換えたかを提示してください。
なぜ、あなたにその様な筝を
上から目線で言われなければならないのでしょうか?
あなたは、部下を指導しているつもりですか?
ここは、会社でも何でもありません。

ただ、分からない人が集まって、
お互いアドバイスをするところではないのですか?

教える事が出来ないというのは、、
多分、あなたも詳しいことは分からないのでしょう。

以前も違う質問をして、
あなたからの回答があり、
返答しましたが、
その後は一切回答なし。

あなたの答え方は、以前も人を馬鹿にしたような書き方でした。

ただ、知っていることだけを書いただけ・・

多分、あなたは人に教える能力がないんでしょうね。

自分の知っている難しい言葉をただ並べて・・・
そういう、答え方されるのが一番初心者には困るんです。

自分が初心者の時って、会社でそうされていたんですか?
自分がそうされた時は、どんな気分でしたか?

別に私はプロを目指しているわけではありません。

具体的に分かっているなら教えてくださっても良いのではないですか?
教えていただけないのであれば、二度とこちらにレスをしないで下さい。
はっきり言って迷惑です。

よろしくお願いします。

先ほど、色々と考えて下記のコードで解決しました。

Point webBrowser1Location = webBrowser1.ClientRectangle.Location;
Point webBrowserScreenLocation =
webBrowser1.PointToScreen(webBrowser1Location);

string入力文字;

入力文字 = Interaction.InputBox("注意事項があります", "注意事項", "", webBrowserScreenLocation.X + 100, webBrowserScreenLocation.Y + 100);

解決済み
引用返信 編集キー/
■67967 / inTopicNo.6)  Re[5]: Webブラウザからの相対座標を取得するには?
□投稿者/ Azulean (208回)-(2013/09/12(Thu) 00:50:57)
2013/09/12(Thu) 01:04:07 編集(投稿者)
No67966 (C#初心者 さん) に返信
> なぜ、あなたにその様な筝を
> 上から目線で言われなければならないのでしょうか?

「試してできませんでした」だけでは相手が何をしたのかわかりませんよね?
少ない言葉でコミュニケーションをとる以上、何らかの齟齬が生じている
可能性があるわけですから、具体的なコードを提示してもらうことを依頼する
ことは必要なことだと考えています。

> 私もPointToScreenを調べました。
> けど、正直、良くわかりませんでした。

これが読み取れませんでしたので、先ほどのように「何かされましたか?」と
問いました。
「スクリーン座標についても調べたのですが、よくわかりません」と一文あれ
ば十分だと思います。
もっとも、聞かれたそう答えたらよいだけですので、最初から必要ではありま
せん。


> 教える事が出来ないというのは、、
> 多分、あなたも詳しいことは分からないのでしょう。

何を根拠にされているかわかりませんが、そういったことを書くぐらいなら
無視した方があなたにとって得ですよ。
「初心者」と名乗っておきながら、「おまえはわからないんだろ、だったら書
くなよ」といった趣旨のことを書く人に対する印象がほかの皆さんにどう見え
るかを考慮いただき、あなた自身の今後に役立ててください。


> 以前も違う質問をして、あなたからの回答があり、
> 返答しましたが、その後は一切回答なし。

そのときのあなたの名前や経緯を明らかにせず、人を批判するのは中傷と言わ
れても仕方ないです。(「C# 初心者」は(1 回目)と表記されているので違
う名前だったとみなしています)
私自身の今後に対して助言・指摘をいただけるのでしたら、どのスレッドのこ
とか明示していただきたいと思います。


さて、あんまり言われてばかりも難なので、コードを並べておきます。
Button1, Button2 を貼り付けてイベントを設定して、遊んで、何が違うのか
ちゃんと勉強してください。

private void button1_Click(object sender, EventArgs e)
{
    Interaction.InputBox("テスト", "タイトル", "デフォルト", button1.Left, button1.Top);
}

private void button2_Click(object sender, EventArgs e)
{
    Point screenPosition = PointToScreen(button1.Location);
    Interaction.InputBox("テスト", "タイトル", "デフォルト", screenPosition.X, screenPosition.Y);
}

重要なポイントは PointToScreen が何をするか、その前の Location は何を表したものかです。

※C# で InputBox を使うため、Microsoft.VisualBasic を参照し、
「using Microsoft.VisualBasic;」を先頭に加えています。

引用返信 編集キー/
■67968 / inTopicNo.7)  Re[5]: Webブラウザからの相対座標を取得するには?
□投稿者/ ブーマー (1回)-(2013/09/12(Thu) 06:09:17)
>
> 多分、あなたは人に教える能力がないんでしょうね。
>

違う。お前が人にものを尋ねる能力がないんだ。


> ただ、分からない人が集まって、
> お互いアドバイスをするところではないのですか?

違う。ここでは質問者が回答者側に回ることはまれである。

No67964 のAzulean さんの回答は的確だ。
回答側もそんなにヒマではない。いちいち詳しく説明なんかしていられない。
お前はなぜ出されたキーワードに対して調べようとしないのだ。


> 別に私はプロを目指しているわけではありません。

つまり趣味の範囲ということなのだろうが、それならば与えられた情報に対してじっくり調べる時間があるわけだから、
もっと自分で色々と調べ、その結果何が分からなかったかを質問するべきだ。
理解能力がないならば、そんな趣味はやめてしまえ。
引用返信 編集キー/
■68013 / inTopicNo.8)  Re[6]: Webブラウザからの相対座標を取得するには?
□投稿者/ C#初心者 (8回)-(2013/09/15(Sun) 23:55:18)
2013/09/16(Mon) 00:24:54 編集(投稿者)

No67968 (ブーマー さん) に返信
>>
>>多分、あなたは人に教える能力がないんでしょうね。
> 違う。お前が人にものを尋ねる能力がないんだ。

一回しか投稿してないお前に何がわかるんだ


>>ただ、分からない人が集まって、
>>お互いアドバイスをするところではないのですか?
>
> 違う。ここでは質問者が回答者側に回ることはまれである。

そんな事ない。
以前、自分も回答者側に回った。

お前の考えが全て正しいと思うな
一回しか投稿していない、この勘違い野郎!!

> No67964 のAzulean さんの回答は的確だ。
> 回答側もそんなにヒマではない。いちいち詳しく説明なんかしていられない。

こちらもヒマではない、だから回答を急いでいるわけで、
教えるつもりがないなら、ここに回答するべきではない。
それこそ、ヒマがなくて教えるつもりがないものが
ここへ来てわざわざ回答する必要は無いのではないか?
じゃ、何のためにここにきているのだ?


> お前はなぜ出されたキーワードに対して調べようとしないのだ。

以前も調べて、別な名前で質問して回答したが、
Azuleanさんは一向に回答が無かったから書いたわけで、
よく67883を見てみろ、その後回答はあるか?

そのこと知っていて書いているのか?

だから、ああいう筝を書いたわけで・・・

>>別に私はプロを目指しているわけではありません。
>
> つまり趣味の範囲ということなのだろうが、それならば与えられた情報に対してじっくり調べる時間があるわけだから、
> もっと自分で色々と調べ、その結果何が分からなかったかを質問するべきだ。


どうして、趣味だと決め付けられるのだ?
どうして、じっくり調べる時間があるといえるのだ?
人から期間内に作成するように頼まれているんだ。
だから、時間がないからあせって質問したんだ。

> 理解能力がないならば、そんな趣味はやめてしまえ。

お前にそんな指示される筋合いは全くないし、
趣味ではない、自分勝手に判断するな!!

それって誹謗中傷じゃないのか?
引用返信 編集キー/
■68014 / inTopicNo.9)  Re[6]: Webブラウザからの相対座標を取得するには?
□投稿者/ C#初心者 (9回)-(2013/09/16(Mon) 00:10:48)
2013/09/16(Mon) 00:55:22 編集(投稿者)
No67967 (Azulean さん) に返信
> 2013/09/12(Thu) 01:04:07 編集(投稿者)
>
> ■No67966 (C#初心者 さん) に返信
>>なぜ、あなたにその様な筝を
>>上から目線で言われなければならないのでしょうか?
>
> 「試してできませんでした」だけでは相手が何をしたのかわかりませんよね?
> 少ない言葉でコミュニケーションをとる以上、何らかの齟齬が生じている
> 可能性があるわけですから、具体的なコードを提示してもらうことを依頼する
> ことは必要なことだと考えています。

私は、きちんと、下記の様に記述したと書いたはずです。
これで試して駄目だったと書いてあります。

InputBoX("注意事項があります","注意事項","",WebBrowser1.Left+100,WebBrowser1.TOP+100);

これはコードではないんですか?
それに、まさおさんのコードを試してみても
結果は同じでしたと書いたはずです。

とすると、どのコードを書いたか分からないでしょうか?

それとも、私のスレッドの中身は全く読まれていないのでしょうか?


>>私もPointToScreenを調べました。
>>けど、正直、良くわかりませんでした。
>
> これが読み取れませんでしたので、先ほどのように「何かされましたか?」と
> 問いました。
> 「スクリーン座標についても調べたのですが、よくわかりません」と一文あれ
> ば十分だと思います。
> もっとも、聞かれたそう答えたらよいだけですので、最初から必要ではありま
> せん。

それは、申し訳ございませんでした。
今後は、その様に書くように気をつけます。

>
>>教える事が出来ないというのは、、
>>多分、あなたも詳しいことは分からないのでしょう。
>
> 何を根拠にされているかわかりませんが、そういったことを書くぐらいなら
> 無視した方があなたにとって得ですよ。
> 「初心者」と名乗っておきながら、「おまえはわからないんだろ、だったら書
> くなよ」といった趣旨のことを書く人に対する印象がほかの皆さんにどう見え
> るかを考慮いただき、あなた自身の今後に役立ててください。

ただ、今回のスレッドを読んで頂くと、
どちらが正しいことを言っているのかが一目で分かると思います。

>
>>以前も違う質問をして、あなたからの回答があり、
>>返答しましたが、その後は一切回答なし。
>
> そのときのあなたの名前や経緯を明らかにせず、人を批判するのは中傷と言わ
> れても仕方ないです。(「C# 初心者」は(1 回目)と表記されているので違
> う名前だったとみなしています)
> 私自身の今後に対して助言・指摘をいただけるのでしたら、どのスレッドのこ
> とか明示していただきたいと思います。
>

誹謗中傷といわれても嫌なので、
私は、以前、マリー初心者という名前で、
WEB上でボタンをクリックされた時の処理は?
という質問をしました。

あなたからの回答が来た後に、
すぐに67884という回答をしていますが、
あなたは、それ以降何のアドバイスもして頂けませんでしたよね。

だから、ああいった事を書いたわけで、
これを読まれた方は、
どちらの意見が正しいと思うでしょうかね。

> さて、あんまり言われてばかりも難なので、コードを並べておきます。
> Button1, Button2 を貼り付けてイベントを設定して、遊んで、何が違うのか
> ちゃんと勉強してください。
>
> private void button1_Click(object sender, EventArgs e)
> {
> Interaction.InputBox("テスト", "タイトル", "デフォルト", button1.Left, button1.Top);
> }
>
> private void button2_Click(object sender, EventArgs e)
> {
> Point screenPosition = PointToScreen(button1.Location);
> Interaction.InputBox("テスト", "タイトル", "デフォルト", screenPosition.X, screenPosition.Y);
> }
>
> 重要なポイントは PointToScreen が何をするか、その前の Location は何を表したものかです。
>
> ※C# で InputBox を使うため、Microsoft.VisualBasic を参照し、
> 「using Microsoft.VisualBasic;」を先頭に加えています。


あなは、私のスレッドをきちんと読まれているのでしょうか?

InputBoX("注意事項があります","注意事項","",WebBrowser1.Left+100,WebBrowser1.TOP+100);
というコードが書かれていますし、
これだと、スクリーン座標になってしまうのか、
フォームを移動してしまうと、全く別の位置にInputBoxが表示されてしまいます。
とスレッドに書いているという筝は、InputBoxについては、なんの問題も無いことだと気づきませんか?

下記の事ぐらいは把握しているはずです。

> ※C# で InputBox を使うため、Microsoft.VisualBasic を参照し、
> 「using Microsoft.VisualBasic;」を先頭に加えています。

それでないと、エラーになりますからね。

これでは、
全く、人のスレの中身を読んでいないと思われてもしょうがないでしょうね。

でも、何で言われてばかりだからコードを書くんでしょうかね?

全く分からない人間に対して、

もし、最初から親切心があるのであれば、
最初から、コードを並べて、
一言アドバイスして頂いてもらえないものですかね?

だから、あなたの行動はいつも人を馬鹿にして、
人には教えたくないと
思われてもしょうがないんじゃないでしょうか?

読者が読まれたらどちらが言ってる事が正しいと思いますかね?

今後のあなたの行動に参考にして頂ければと思います。

一応、問題は自分で解決致しましたので・・・

引用返信 編集キー/
■68015 / inTopicNo.10)  ここには何も書かれていません。
□投稿者/ C#初心者 (10回)-(2013/09/16(Mon) 00:40:43)
2013/09/16(Mon) 00:53:08 編集(投稿者)

間違って投稿したのでこれは無視してください。
引用返信 編集キー/
■68016 / inTopicNo.11)  Re[7]: Webブラウザからの相対座標
□投稿者/ Azulean (211回)-(2013/09/16(Mon) 01:15:45)
2013/09/16(Mon) 01:34:16 編集(投稿者)
2013/09/16(Mon) 01:25:05 編集(投稿者)

ご指摘のスレッドに対するスタンスの表明と、誤解のある箇所の訂正のみ触れます。
誰が正しいかの部分は第三者が考えることなので、私からは触れません。

No68014 (C#初心者 さん) に返信
> 誹謗中傷といわれても嫌なので、
> 私は、以前、マリー初心者という名前で、
> WEB上でボタンをクリックされた時の処理は?
> という質問をしました。
(中略)
> あなたは、それ以降何のアドバイスもして頂けませんでしたよね。

確かにそのスレッド No67878 については、ご指摘の通り、切り分けを狙ったコメント以降に新たなコメントをしていません。
そのコメントの後に質問者の情報を踏まえた上でほかの方からアドバイスがありますので、質問者の動向待ちで止めていました。
質問者からの解決する・しない、わかる・わからないなどの応答なしに何個も投稿しても無駄になることがある、混乱させることがあるためです。

結局、解決していたのでしょうか?
解決した・解決していないなどの続報をそのスレッドに書いておいていただければ、後からそのスレッドを参考にする方に情報が役立つ・役立たないの指標になるかと思います。


> もし、最初から親切心があるのであれば、
> 最初から、コードを並べて、
> 一言アドバイスして頂いてもらえないものですかね?

確かに今回の分量であれば、書いた方が速いですね。
そういう意味では判断ミスがあったと思います。

<9/16 1:34 部分削除:いいわけ>

いいわけを書いても仕方ないのでばっさり削りました。
結局、数分で書けるコードは書くことを考えた方が確かなので、今後再考します。

<9/16 1:25 追記>
「時間がないのでコードを示して回答して欲しい」という縛りを入れてあれば、手を出さなかったかもしれません。
(この場所でコードなしでの回答を禁じる制限はないため)

-----
あとは私の推敲不足が招いている誤解があります。

> とすると、どのコードを書いたか分からないでしょうか?

スクリーン座標を説明する記事がリンクされていたので、さらにチャレンジされたのかもしれないと深読みしたことからお聞きした次第です。
「PointToScreen を組み合わせたコードを書いて試されたのでしょうか」という確認が誤解なくよかったかもしれません。


>>※C# で InputBox を使うため、Microsoft.VisualBasic を参照し、
>>「using Microsoft.VisualBasic;」を先頭に加えています。
> あなは、私のスレッドをきちんと読まれているのでしょうか?
(略)
> というコードが書かれているという筝は、下記の事ぐらいは把握しているはずです。

これはコードを見た第三者が評価する・検証する際に誤解のないように念のために書いたものです。
あなたの理解を疑うものではありません。誤解を招いたのであればすみません。
引用返信 編集キー/
■68017 / inTopicNo.12)  Re[5]: Webブラウザからの相対座標を取得するには?
□投稿者/ PANG2 (3回)-(2013/09/16(Mon) 02:01:08)
No67966 (C#初心者 さん) に返信
> 先ほど、色々と考えて下記のコードで解決しました。
>
> Point webBrowser1Location = webBrowser1.ClientRectangle.Location;
> Point webBrowserScreenLocation =
> webBrowser1.PointToScreen(webBrowser1Location);
>
> string入力文字;
>
> 入力文字 = Interaction.InputBox("注意事項があります", "注意事項", "", webBrowserScreenLocation.X + 100, webBrowserScreenLocation.Y + 100);

これって、自力で解決したつもりなの?
引用返信 編集キー/
■68022 / inTopicNo.13)  Re[6]: Webブラウザからの相対座標を取得するには?
□投稿者/ C#初心者 (11回)-(2013/09/16(Mon) 15:47:33)
No68017 (PANG2 さん) に返信
> ■No67966 (C#初心者 さん) に返信
>>先ほど、色々と考えて下記のコードで解決しました。
>>
>>Point webBrowser1Location = webBrowser1.ClientRectangle.Location;
>>Point webBrowserScreenLocation =
>>webBrowser1.PointToScreen(webBrowser1Location);
>>
>>string入力文字;
>>
>>入力文字 = Interaction.InputBox("注意事項があります", "注意事項", "", webBrowserScreenLocation.X + 100, webBrowserScreenLocation.Y + 100);
>
> これって、自力で解決したつもりなの?

コードは、サンプルを真似して書いたものですが、

あのあと、私なりに、少し知識のある友人から聞いて、
スクリーン座標とクライアント座標に関しても理解しましたので・・・
引用返信 編集キー/
■68023 / inTopicNo.14)  Re[7]: Webブラウザからの相対座標を取得するには?
□投稿者/ WebSurfer (49回)-(2013/09/16(Mon) 16:56:49)
No68022 (C#初心者 さん) に返信
> ■No68017 (PANG2 さん) に返信
>>■No67966 (C#初心者 さん) に返信
> >>先ほど、色々と考えて下記のコードで解決しました。
> >>
> >>Point webBrowser1Location = webBrowser1.ClientRectangle.Location;
> >>Point webBrowserScreenLocation =
> >>webBrowser1.PointToScreen(webBrowser1Location);
> >>
> >>string入力文字;
> >>
> >>入力文字 = Interaction.InputBox("注意事項があります", "注意事項", "", webBrowserScreenLocation.X + 100, webBrowserScreenLocation.Y + 100);
>>
>>これって、自力で解決したつもりなの?
>
> コードは、サンプルを真似して書いたものですが、
>
> あのあと、私なりに、少し知識のある友人から聞いて、
> スクリーン座標とクライアント座標に関しても理解しましたので・・・

ここは解決したそうですが、No67878 は放置ですか?
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -