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

わんくま同盟

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

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

ツリー一括表示

PictureBoxの描画可能領域を取得するには? /爺 (19/09/10(Tue) 16:19) #92318
Re[1]: PictureBoxの描画可能領域を取得するには? /魔界の仮面弁士 (19/09/10(Tue) 16:26) #92320
Re[1]: PictureBoxの描画可能領域を取得するには? /Hongliang (19/09/10(Tue) 16:26) #92319
Re[1]: PictureBoxの描画可能領域を取得するには? /ぶなっぷ (19/09/10(Tue) 16:35) #92321
  └ Re[2]: PictureBoxの描画可能領域を取得するには? /爺 (19/09/10(Tue) 18:21) #92327 解決済み


親記事 / ▼[ 92320 ] ▼[ 92319 ] ▼[ 92321 ]
■92318 / 親階層)  PictureBoxの描画可能領域を取得するには?
□投稿者/ 爺 (1回)-(2019/09/10(Tue) 16:19:18)

分類:[.NET 全般] 

PictureBoxに関してですが、

BoarderStyleの設定に
Noneではなく
FixedSingleにしていると
画像を描画可能な領域が
PictureBox.WidthやPictureBox.Heightで取得できる領域よりも
ラインの太さ分(-2)小さくなります。

単にPictureBox.WidthやPictureBox.Heightから-2引けば良いだけなのですが、
BoarderStyleとしてNoneを使う場合もあり得るので、

PictureBoxから描画可能領域を取得したいのですが
このようなことは可能でしょうか?

ちなみに、g.ClipBounds.Widthでいけるかと思ったのですが、
PictureBoxの上に別のウインドウが乗っかった場合に、
そのウインドウを除外した領域が有効範囲となってしまい
うまくいきません。


[ □ Tree ] 返信 編集キー/

▲[ 92318 ] / 返信無し
■92320 / 1階層)  Re[1]: PictureBoxの描画可能領域を取得するには?
□投稿者/ 魔界の仮面弁士 (2371回)-(2019/09/10(Tue) 16:26:47)
No92318 (爺 さん) に返信
> ラインの太さ分(-2)小さくなります。

Label1.Text = PictureBox1.Parent.RectangleToScreen(PictureBox1.Bounds).ToString()
Label2.Text = PictureBox1.RectangleToScreen(PictureBox1.ClientRectangle).ToString()
[ 親 92318 / □ Tree ] 返信 編集キー/

▲[ 92318 ] / 返信無し
■92319 / 1階層)  Re[1]: PictureBoxの描画可能領域を取得するには?
□投稿者/ Hongliang (892回)-(2019/09/10(Tue) 16:26:25)
ClientRectangleプロパティでどうでしょうか。
[ 親 92318 / □ Tree ] 返信 編集キー/

▲[ 92318 ] / ▼[ 92327 ]
■92321 / 1階層)  Re[1]: PictureBoxの描画可能領域を取得するには?
□投稿者/ ぶなっぷ (208回)-(2019/09/10(Tue) 16:35:59)
ClientSizeプロパティもあります。
[ 親 92318 / □ Tree ] 返信 編集キー/

▲[ 92321 ] / 返信無し
■92327 / 2階層)  Re[2]: PictureBoxの描画可能領域を取得するには?
□投稿者/ 爺 (2回)-(2019/09/10(Tue) 18:21:54)
皆様ありがとうございます。

いろいろな方法で取得可能なことが分かりました。

解決済み
[ 親 92318 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -