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

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

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

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

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

1回答

1277閲覧

ポイント位置の取得とその数

Mike_S

総合スコア7

C#

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

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2017/03/13 22:07

はじめまして。

###前提・実現したいこと
ただいまVoronoi algorithmを用いて,相手が追加したポイントからそのアルゴリズムを処理させたいです。

###発生している問題・エラーメッセージ

初心者でいろいろと分かっていないのですが、Picturebox内にFillellipseでポイント追加するようにしたんですが、どうしたら相手の追加したポイントの位置、数を獲得できるようにできるんでしょうか?

###該当のソースコード

private void UserCanvas_MouseClick(object sender, MouseEventArgs e) { Graphics g = UserCanvas.CreateGraphics(); this.Cursor = new Cursor(Cursor.Current.Handle); float posX = e.Location.X; float posY = e.Location.Y; SolidBrush sb = new SolidBrush(Color.Black); if (posX < 5 || posX > 398 || posY < 5 || posY > 322) { return; } else { g.FillEllipse(sb, (posX - 5), (posY - 5), 10, 10); }

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

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

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

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

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

guest

回答1

0

ベストアンサー

相手が追加したポイント=マウスクリックされた場所でいいのでしたら

C#

1 2 List<Point> selectPoint = new List<Point>(); 3 4 5 private void UserCanvas_MouseClick(object sender, MouseEventArgs e) 6 { 7 8 Graphics g = UserCanvas.CreateGraphics(); 9 this.Cursor = new Cursor(Cursor.Current.Handle); 10 float posX = e.Location.X; 11 float posY = e.Location.Y; 12 SolidBrush sb = new SolidBrush(Color.Black); 13 14 if (posX < 5 || posX > 398 || posY < 5 || posY > 322) 15 { 16 return; 17 } 18 19 else 20 { 21 g.FillEllipse(sb, (posX - 5), (posY - 5), 10, 10); 22 23 // 選択した位置を追加 24 selectPoint.Add(e.Location); 25 } 26 27 28 29// 選択した数を取得する場合 30int count = selectPoint.Count; 31 32// 選択した場所を取得する場合 33Point select = selectPoint[0];

という感じでList<T>クラスを使えばいいのではないかと思います。

投稿2017/03/13 22:48

YAmaGNZ

総合スコア10222

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

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

Mike_S

2017/03/13 23:21

はい、マウスクリックの位置という解釈で問題ありません! ありがとうございます!! 上記のように試してみたらOutputがクリックのたびに情報が更新されてしまい、countの合計値、位置すべての獲得ができませんでした。e.Location、countをまとめて一度にoutputするにはどうしたらいいんでしょうか?
YAmaGNZ

2017/03/13 23:59

一番下の数を取得する場合、場所を取得する場合というのは、その位置に書くのではなくこのように書けば取得できますという例なので 利用したい場所で記述してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問