Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 12 kết quả

Đề tài: vẽ luôn ngay sau khi form hiện lên thì làm thế nào ?

  1. #1
    Ngày gia nhập
    03 2011
    Bài viết
    47

    Mặc định vẽ luôn ngay sau khi form hiện lên thì làm thế nào ?

    tôi định sau khi F5 thì form được form và có luôn đường thẳng trên picturebox

    Graphics g;
    private void Form1_Load(object sender, EventArgs e)
    {
    g = pictureBox1.CreateGraphics();
    g.DrawLine(Pens.Red, 20, 30, 56, 76);
    }

    viết như thế này thì sau khi form hiện lên thì chẳng có đường thẳng nào cả...
    ai biết xin giúp với..!!

  2. #2
    Ngày gia nhập
    10 2010
    Nơi ở
    Đà Nẵng
    Bài viết
    10

    bạn phải xử lý drawing trong sự kiện KeyDown chứ nhỉ? (khi key là F5)

  3. #3
    Ngày gia nhập
    04 2010
    Nơi ở
    My Computer
    Bài viết
    195

    Trích dẫn Nguyên bản được gửi bởi huyphanvan Xem bài viết
    bạn phải xử lý drawing trong sự kiện KeyDown chứ nhỉ? (khi key là F5)
    Ý của bạn ấy là F5 để chạy chế độ debug chương trình của Visual

    Bạn gọi vậy k được rồi. Phải gọi trong sự kiên Paint của Pixturebox

    Visual C# Code:
    1.         private void pictureBox1_Paint(object sender, PaintEventArgs e)
    2.         {
    3.             Graphics G = e.Graphics;
    4.            
    5.             G.DrawEllipse(Pens.Red, 20, 20, 30, 30);
    6.         }
    Hôm nào em ra đi anh thẫn thờ trên phố nhỏ
    Mây chiều giăng lối đi em đứng nhìn mắt bơ vơ
    Tóc xõa từ bờ vai hoen mi sầu rưng rưng lệ
    Cho tròn tuổi tình yêu lúc ban đầu xa cách nhau

  4. #4
    Ngày gia nhập
    03 2011
    Bài viết
    47

    Trích dẫn Nguyên bản được gửi bởi thach.thuc Xem bài viết
    Ý của bạn ấy là F5 để chạy chế độ debug chương trình của Visual

    Bạn gọi vậy k được rồi. Phải gọi trong sự kiên Paint của Pixturebox

    Visual C# Code:
    1.         private void pictureBox1_Paint(object sender, PaintEventArgs e)
    2.         {
    3.             Graphics G = e.Graphics;
    4.            
    5.             G.DrawEllipse(Pens.Red, 20, 20, 30, 30);
    6.         }
    cảm ơn bạn rất nhiều

  5. #5
    Ngày gia nhập
    09 2011
    Nơi ở
    Yên Bái, Vietnam
    Bài viết
    42

    bạn thử cho mã lệnh trên vào sự kiện Form1_Shown của form thay vì cho vào Form1_Load xem sao.

  6. #6
    Ngày gia nhập
    07 2010
    Bài viết
    7

    Mặc định vẽ luôn ngay sau khi form hiện lên thì làm thế nào ?

    bạn thử đoạn code này nhé :
    Code:
     private void Form1_Load(object sender, EventArgs e)
            {
                Graphics g= Graphics.FromImage(pictureBox1.Image);
                g.DrawLine(Pens.Red, 20, 30, 56, 76);
            }
    Blog chia sẻ kinh nghiệm IT : http://4shareinfo.wordpress.com/

  7. #7
    Ngày gia nhập
    12 2011
    Bài viết
    49

    Vẽ trong form_paint ấy

  8. #8
    Ngày gia nhập
    02 2011
    Nơi ở
    Bảo Lộc, Vietnam
    Bài viết
    68

    bạn thử dùng Protected Override OnPaint(), trong đó vẽ 1 đường thẳng . Khi load form thi thêm method Invalidate() để yêu cầu vẽ lại Form.
    Hoặc bạn tạo 1 Bitmap, trên đó vẽ 1 đường thẳng và set Image của picturebox là Bitmap bạn mới tạo ra

  9. #9
    Ngày gia nhập
    11 2010
    Nơi ở
    Tầng cao nhất tháp đôi Mỹ........
    Bài viết
    48

    Bạn sữ dụng đoạn code dưới.
    private void Form1_Paint(object sender, PaintEventArgs e)
    {
    e.Graphics.Clear(this.BackColor);
    e.Graphics.DrawLine(Pens.Blue, 0, 0,
    this.ClientSize.Width, this.ClientSize.Height);
    e.Graphics.DrawLine(Pens.Blue,
    this.ClientSize.Width, 0, 0, this.ClientSize.Height);
    }
    Thêm đoạn này để khi resize form nó vẽ lại
    private void Form1_Load(object sender, EventArgs e)
    {
    this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw,
    true);
    }

  10. #10
    Ngày gia nhập
    08 2011
    Nơi ở
    TPHCM quận Thủ Đức
    Bài viết
    48

    Trích dẫn Nguyên bản được gửi bởi thach.thuc Xem bài viết
    Ý của bạn ấy là F5 để chạy chế độ debug chương trình của Visual

    Bạn gọi vậy k được rồi. Phải gọi trong sự kiên Paint của Pixturebox

    Visual C# Code:
    1.         private void pictureBox1_Paint(object sender, PaintEventArgs e)
    2.         {
    3.             Graphics G = e.Graphics;
    4.            
    5.             G.DrawEllipse(Pens.Red, 20, 20, 30, 30);
    6.         }
    sao mình gõ y như thế này mà cũng vẫn ko dc nhỉ @@
    Kẻ nào bắt buộc nghe ai.
    Luôn luôn vẫn giữ ý sai của mình.

Các đề tài tương tự

  1. Graphic Làm thế nào để ảnh trong suốt hoàn toàn khi vẽ lên form?
    Gửi bởi vantrung1408 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 01-12-2012, 08:34 PM
  2. Trả lời: 2
    Bài viết cuối: 22-09-2011, 07:37 PM
  3. Vẽ lên Form khi cần như thế nào??? (Làm sao gọi lại Form_paint?)
    Gửi bởi voicewithin trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 19-04-2011, 08:14 PM
  4. Vẽ đường tròn lên form trong C# như thế nào?
    Gửi bởi xinbat trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 7
    Bài viết cuối: 06-12-2010, 12:27 PM
  5. Xóa hình đã vẽ lên form trong C# như thế nào?
    Gửi bởi CR08 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 12-08-2010, 03:18 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn