如何在屏幕截图中删除我的窗口

时间:2014-03-12 13:24:32

标签: c# wpf screenshot

我想在我的应用程序中拍摄屏幕截图,为此我创建了一个包含按钮的表单,当用户点击按钮时屏幕截图最多创建。但我的screan镜头包含显示的形式!如何删除该表格并拍摄screan?我需要WPF形式,并且在获得screan射击之后但是在创建射击期间它应该关闭。怎么办?

2 个答案:

答案 0 :(得分:1)

您可以在拍摄屏幕截图然后恢复

之前设置WindowState来最小化窗口
WindowState = WindowState.Minimized;
// take screenshot
WindowState = WindowState.Normal;

答案 1 :(得分:1)

您有两种选择:

1-正如@Richard所说,您可以使用WindowState来最小化您的表单,截屏并再次最大化。但是你应该等到完全最小化。所以你应该使用Thread.Sleep(...)方法:

WindowState = WindowState.Minimized;
Thread.Sleep(500);
/*Or every other value for waiting until minimizing was completed in mili-second*/
// take screenshot
WindowState = WindowState.Normal;

2-您也可以对表单使用HideShow方法:

Form1 frm = new Form1();
frm.Show();

//When you want to take screenshot:
frm.Hide();
Thread.Sleep(500);
//Take screenshot
frm.Show();