csuser012342017/12/19 02:37その方法は試したのですが、上側のpictureboxはサイズが小さい為、あくまで上側のpictureboxのマウスムーブイベント内で処理を行おうとすると、その小さいサイズの範囲内でしか操作出来なくなってしまいます。裏側の大きいpictureboxのマウスムーブイベント内で、上側の小さいpictureboxを動かすと言うような処理を行いたい場合、方法ないでしょうか。
YAmaGNZ2017/12/19 02:46上側のpictureboxの範囲外は下側のpictureboxのイベントが発生するのではないですか? 上側のpictureboxでイベントが発生した場合に行う処理、下側のpictureboxでイベントが発生した場合に行う処理を整理すれば実現可能なように思えます。
csuser012342017/12/19 02:50確かにそうですね。どちらの処理も共通化させておけばやりたい事は実現出来ます。ありがとうございます。 学習の為に、マウスムーブイベントやダウンイベント等、手動でイベントを呼び出す方法はあるでしょうか?
YAmaGNZ2017/12/19 03:13強引にイベントハンドラを呼び出すというのであれば、 MouseEventArgs e = new MouseEventArgs(buttons,clicks,x,y,delta); pictureBox1_MouseMove(pictureBox1, e); このように引数となっているクラスを自分で生成し、コールするという方法はありますし、 SendMessage等にてメッセージを送信しイベントを起こすという方法もあります。 ですが、他からこういうことを行うのは避けたほうがよいです。
Chironian2017/12/19 03:29↓が参考になりそうです。 https://www.ipentec.com/document/document.aspx?page=csharp-visual-component-get-windows-message Controlの代わりにPictureBoxを継承するイメージです。 Windows Formsで無かったらごめんなさい。WPFは私は分かりません。 WM_NCHITTESTの値等は「WM_NCHITTEST C#」などで検索すれば誰か書いてくれていると思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/19 02:37
2017/12/19 02:46
2017/12/19 02:50
2017/12/19 03:13
2017/12/19 04:40