こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

締切り済みの質問

ユーザーコントロールのDrawToBitmap

vb.net(VisualStudio2015)で作成したユーザーコントロール内の画面を「DrawToBitmap」で取得しフォーム内に表示したいのですが上手く表示できません。もしご存知の方がいましたらご教授して頂けますと助かります。宜しくお願い致します。

Private SecondScreen as New UserControl1
'ユーザーコントロール内の画面を取得
Dim mBitmap as New Bitmap(SecondScreen.Width,SecondScreen.Height)
SecondScreen.DrawToBitmap(mBitmap,New Rectangle(0,0,SecondScreen.Width,SecondScreen.Height))
.
.
.
'取得した画面をフォームに表示
Dim g as Graphics = e.Graphics
g.DrawImage(mBitmap,new Rectangle(0,0,SecondScreen.Width,SecondScreen.Height))

いくつか省略箇所がありますが、上記の方法ですとユーザーコントロール内の画面が取得できなく、「SecondScreen.Visible=True」で一度表示させてから取得すると表示されます。

フォーム内にユーザーコントロールを張り付けて表示させるのではなく、一度「DrawToBitmap」で取得させてから表示させたいのです。

お手数ですが、ご教授お待ちしています。
宜しくお願い致します。

投稿日時 - 2015-10-17 00:19:25

QNo.9065108

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

ANo.1

おそらくですが、VisibleがFalseだとユーザコントロールのPaintメソッドが走らないのかなと思うので、ユーザコントロールの上に何かしらのコントロールをかぶせて見えなくしておいてVisibleをTrueにして、そこで画面を取得するのはどうでしょうか。

投稿日時 - 2015-10-17 05:03:24

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-