Я пытаюсь вызвать метод столько раз, сколько возможно, учитывая его в течение 1 секунды, поэтому я решил использовать таймер, чтобы помочь выполнить это, но когда таймер запускается обработчик события клещ (после 1 секунды) метод еще вызывается - я начал его как следует:Invoke method x количество раз в течение x секунд
public partial class Form1 : Form
{
public static Timer prntScreenTimer = new Timer();
public Form1()
{
InitializeComponent();
startCapture();
}
private static void startCapture()
{
prntScreenTimer.Tick += new EventHandler(prntScreenTimer_Tick);
prntScreenTimer.Start();
prntScreenTimer.Interval = 1000;
while (prntScreenTimer.Enabled)
{
captureScreen();
}
}
private static void prntScreenTimer_Tick(object sender, EventArgs e)
{
prntScreenTimer.Stop();
}
private static void captureScreen()
{
int ScreenWidth = Screen.PrimaryScreen.Bounds.Width;
int ScreenHeight = Screen.PrimaryScreen.Bounds.Height;
Graphics g;
Bitmap b = new Bitmap(ScreenWidth, ScreenHeight);
g = Graphics.FromImage(b);
g.CopyFromScreen(Point.Empty, Point.Empty, Screen.PrimaryScreen.Bounds.Size);
// Draw bitmap to screen
// pictureBox1.Image = b;
// Output bitmap to file
Random random = new Random();
int randomNumber = random.Next(0, 10000);
b.Save("printScrn-" + randomNumber, System.Drawing.Imaging.ImageFormat.Bmp);
}
}
}
Каково ваше требование использовать таймер или просто вызвать метод? Если последнее, почему бы вам просто не создать базовый цикл с «проверкой, если период времени меньше 1 секунды» в качестве контура цикла? –