2014-06-10 25 views
5

Tôi có 2 hình tượng tôi muốn cập nhật song song.Cập nhật 2 hình tượng song song

Để bây giờ tôi có điều này:

picturebox_1.Refresh(); 
picturebox_2.Refresh(); 

Trong mỗi sự kiện sơn Tôi có những thứ như thế này:

PictureBox 1:

e.Graphics.Clear(System.Drawing.Color.Black);  
e.Graphics.DrawImage(mybitmap1, X, Y); 
e.Graphics.DrawLine(mypen, verticalstart, verticalend); //Draw Vertical 

PictureBox 2:

e.Graphics.Clear(System.Drawing.Color.Black);  
e.Graphics.DrawImage(mybitmap2, X, Y); 
e.Graphics.DrawLine(mypen, verticalstart, verticalend);//Draw Vertical line. 

Có ea không sy cách để làm điều này? Tôi mới để phân luồng, v.v.

Cảm ơn!

Trả lời

0

Bạn có thể sử dụng cùng một trình xử lý sự kiện Paint cho cả hai hộp hình không? Nếu tôi đặt hai ô hình ảnh trên một biểu mẫu và đặt cả hai hình ảnh đó để sử dụng trình xử lý được hiển thị bên dưới, cả hai đều hiển thị một đường màu đỏ dọc chia đôi ô đó.

private void pictureBox_Paint(object sender, PaintEventArgs e) { 
    PictureBox pb = sender as PictureBox; 
    if (pb == null) { 
     return; 
    } 
    Pen p = new Pen(Brushes.Red); 
    e.Graphics.DrawLine(p, new Point(pb.Width/2, 0), new Point(pb.Width/2, pb.Height)); 
} 

chỉnh sửa: thêm ví dụ

tôi muốn lưu trữ mỗi bitmap trong một cuốn từ điển với hộp hình như là chìa khóa như sau:

public partial class Form1 : Form { 
    private Dictionary<PictureBox, Bitmap> bitmaps = new Dictionary<PictureBox,Bitmap>(); 
    public Form1() { 
     InitializeComponent(); 
     bitmaps.Add(pictureBox1, mybitmap1); 
     bitmaps.Add(pictureBox2, mybitmap2); 

    } 

    private void pictureBox_Paint(object sender, PaintEventArgs e) { 
     PictureBox pb = sender as PictureBox; 
     if (pb == null) { 
      return; 
     } 
     e.Graphics.Clear(System.Drawing.Color.Black);  
     e.Graphics.DrawImage(bitmaps[pb], X, Y); 
     e.Graphics.DrawLine(mypen, verticalstart, verticalend);//Draw Vertical line. 
    } 
} 
+0

tôi thay đổi nội dung bài viết của tôi. Nó thực sự rút ra 2 hình ảnh khác nhau .. – Matimont

+0

@Matimont - xem câu trả lời đã sửa đổi để theo dõi các bitmap riêng biệt – WarrenG

+0

Tôi có thể sử dụng cùng một sự kiện cho 2 hộp hình ảnh nhưng bản vẽ sẽ không song song với tôi phải không? – Matimont