|
■No89266 (セボ さん) に返信 > タイトルに書いたように実現したいことはPictureBox上のLineShapeをマウスドラッグでドラッグドロップ移動させる事です。
どの LineShape でしょうか?
ここでいう LineShape というのが、Microsoft.VisualBasic.PowerPacks.LineShape クラスの事を 指しているのだとしたら、Visual Studio のフォームデザイナからでは、 PictureBox の上に載せたり、あるいは重ねて配置したりすることはできなかったはずです。
デザイナではなく、コードから配置するのであれば、 Controls.Add(pictureBox1) pictureBox1.Controls.Add(shapeContainer1) shapeContainer1.Shapes.Add(lineShape1) などとして配置できますけれども…。
> LineShapeの場合、本当のBorder部分???でしかMouseMoveが発生しないので少しでも線からずれるとMouseMoveが発生しなくなり移動が出来ません。
Microsoft.VisualBasic.PowerPacks.LineShape の場合、 線幅が 4px 未満な垂直線だったとしても、余裕を持たせて その左右に 1px 程度のクリック可能領域が持たせてあります。
この程度では不十分な場合、LineShape の HitTest メソッドをオーバーライドすることで クリッカブル領域のサイズを拡張することができます。
|