XPが私のラベル文字を表示してくれないのです???
C# ラベルに文字を表示し、そのラベルごと画面イメージ全体を取込みます
取込みが終ったらラベル文字を消去し、先に取込んだ画面イメージをPictureBoxに表示します
PictureBoxには『これが画面に表示されます』と表示されたラベルも含めて画面イメージが映っております
Windows7、Vistaでは確認したらOKでした
//label1のプロパティ label1.Text には空白、Visibleにはfalseが設定されています
Bitmap ScreenSaving = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
//画面サイズの領域を用意します
label1.Text = "これが画面に表示されます";
label1.Visible = true;
this.TopMost = true;
Graphics g = Graphics.FromImage(ScreenSaving); //Graphicsの作成
g.CopyFromScreen(new Point(0, 0), new Point(0, 0), ScreenSaving.Size); //画面全体をコピーする
g.Dispose();
label1.Text = ""; //画面コピー後に直ちにに消去
pictureBox1.Image = ScreenSaving; //コピーした画面を表示
ところがXPで同じプログラムを実行するとPictureBoxのラベルは空白のままです
画面をジッと直視していると画面が一瞬チラリと動きます
文字自体は肉眼では読取れませんが、チラリとしたのでラベルは表示されているのでしょう
では何故XPはラベルを表示した状態の画面を読取らないのでしょうか?
Windows7、VistaとXPでは画面表示のタイミング等々に差あるのでしょうか?
XPで瞬間的に表示したラベルを画面から読取るにはどうしたら良いのでしょうか?
ご指導宜しくお願い申し上げます
追伸】上述の『同じプログラムを実行する』とはVisual Studioでインスローラを作り、それをセットアップしました
Windows7、Vista、XPで別々にビルドした訳ではありません
お礼
メゾットがあったんですね。 勉強不足でした・・・ これで対処ができます。 ありがとうございます。