void refreshTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { try { if (imgQueue.Count <= 0) { this.refreshTimer.Enabled = false; return; } RepositionCursor(); Cell dstCell = this.cells[cursor]; ImageCell imgToShow = this.imgQueue.Dequeue(); if (this.AutoDisposeImage && dstCell.Image != null) { dstCell.Image.Dispose(); } dstCell.Image = imgToShow.Image; dstCell.Text = imgToShow.Text; dstCell.Path = imgToShow.Path; this.Invalidate(Rectangle.Round(dstCell.Rec)); cursor++; } catch (InvalidOperationException ex)// the queue is empty { this.refreshTimer.Enabled = false; } System.Diagnostics.Debug.WriteLine("tick"); }
private void button1_Click(object sender, EventArgs e) { string[] files = System.IO.Directory.GetFiles(@"d:\20090505"); ImageCell[] cells = new ImageCell[246]; for (int i = 0; i < 246; i++) { Image img = Image.FromFile(files[i]); Graphics g = Graphics.FromImage(img); string text = DateTime.Now.ToShortTimeString() + ":" + i.ToString(); g.DrawString(text, SystemFonts.CaptionFont, Brushes.Black, 0, 0); ImageCell newCell = new ImageCell() { Image = img, Path = "", Text = text, Tag = null }; cells[i] = newCell; } this.multiPicListView1.ShowImages(cells); }
public void ShowImages(ImageCell[] imgs) { Array.ForEach(imgs, imgQueue.Enqueue); if (imgQueue.Count > 0 && this.Visible) { refreshTimer.Enabled = true; System.Diagnostics.Debug.WriteLine("tick"); } }
public void ShowImages(ImageDetail[] images) { ImageCell[] cells = new ImageCell[images.Length]; for (int i = 0; i < cells.Length; i++) { Image img = Image.FromFile(images[i].Path); string text = images[i].CaptureTime.ToString(); ImageCell newCell = new ImageCell() { Image = img, Path = images[i].Path, Text = text, Tag = null }; cells[i] = newCell; } this.squareListView1.ShowImages(cells); }