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

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

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

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

Q&A

解決済

1回答

1976閲覧

C# クリックした箇所の拡大縮小

kurumi123456

総合スコア45

C#

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

0グッド

0クリップ

投稿2019/02/17 13:34

編集2019/02/17 13:38

C#でのクリックした箇所の拡大縮小処理が通りません

clsConst.csで拡大縮小処理の定義はしてあり、Main.csでそれを呼び出し、そこにクリックしたときのクリックした箇所の拡大縮小の処理を付け加えています

〈クリックしたときの拡大縮小の流れはこうです〉

1クリックした座標の取得
2拡大縮小
3拡大縮小後の座標の取得(1の変数に拡大縮小倍率(m_ratio)をかける))
4スクロールバーを3で取得した座標へ移動させる

なにか加えるところ or 変更するところはありますか

C#

1clsConst.csでのChangeZoom(拡大縮小)の定義です 2 /// <summary> 3 /// 画像の拡大モードを変更する 4 /// </summary> 5 /// <param name="e">マウスイベントの情報</param> 6 /// <param name="zoomMode">表示モード</param> 7 public static void ChangeZoom(MouseEventArgs e, ref int zoomMode) 8 { 9 if (Control.ModifierKeys == Keys.Control) 10 { 11 if (e.Button == MouseButtons.Left) 12 { 13 // 拡大 14 if ((int)clsConst.ZOOM_MODE.FULL_SIZE < zoomMode) 15 { 16 zoomMode--; 17 } 18 } 19 else if (e.Button == MouseButtons.Right) 20 { 21 // 縮小 22 if (zoomMode < (int)clsConst.ZOOM_MODE.FIT_TO_PIC) 23 { 24 zoomMode++; 25 } 26 } 27 } 28 } 29 30つづいてMain.csでの拡大縮小処理です 31 32/// <summary> 33 /// ピクチャーボックスクリック(画像サイズ変更) 34 /// </summary> 35 /// <param name="sender"></param> 36 /// <param name="e"></param> 37 private void picMaster_MouseClick(object sender, MouseEventArgs e) 38 { 39 if (picMaster.Image != null) 40 { 41 double a = e.X; 42 double b = e.Y; 43 44 { 45 clsConst.ChangeZoom(e, ref m_zoomMode); 46 m_ratio = clsConst.CalcRatio(m_image.Size, pnlMaster.Size, m_zoomMode); 47 clsConst.ChangePictureSize(picMaster, m_image, m_ratio); 48 } 49 50 //X座標を取得する 51 double na = a * m_ratio; 52 //Y座標を取得する 53 double nb = b * m_ratio; 54 55 //スクロールバー移動 56 this.AutoScrollPosition = new Point((int)na, (int)nb); 57 } 58 }

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

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

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

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

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

guest

回答1

0

自己解決

必要コードを記載します clsConst.cs
https://teratail.com/questions/174911

投稿2019/02/17 13:56

kurumi123456

総合スコア45

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問