Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Vẽ đường thẳng trong form với C#?

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

    Mặc định Vẽ đường thẳng trong form với C#?

    Em có code thế này:
    Code:
    private void Form1_Paint(int x1, int y1, int x2, int y2, Color m)
            {
                Graphics dohoa = this.CreateGraphics();
                /*int x1 = 200, y1 = 50;
                int x2 = 400, y2 = 100;*/
                dohoa.DrawLine(new Pen(m, 5), x1, y1, x2, y2);
            }
    
            private void start_Click(object sender, EventArgs e)
            {
                Form1_Paint(270, 70, 120, 145, Color.Red);//(1)-->alpha
                Form1_Paint(295,70, 295, 145, Color.Red);//(1)-->beta
                Form1_Paint(325, 70, 496, 150, Color.Red);//(1)-->gama
                //--------------------
                Form1_Paint(98, 160, 98, 250, Color.Red);//alpha-->(2)
                Form1_Paint(295, 173, 160, 250, Color.Red);//beta-->(2)
                Form1_Paint(98, 173, 232, 250, Color.Red);//alpha-->(3)
    
    
            }
    Thì khi em vẽ xong rồi em thu nhỏ lại mở lên nó sẽ mất. Giờ làm sao khi em thu nhỏ lại mở lên nó không mất vậy?
    Viết hàm giúp mình nghen, mới tập làm c# nên hok hiểu nhiều lắm.
    Cảm ơn mọi người ạ!!

  2. #2
    Ngày gia nhập
    10 2007
    Nơi ở
    TP. HCM
    Bài viết
    52

    Cái này là do Windows tiết kiệm bộ nhớ nên nó sẽ ko lưu những thứ mà bạn vẽ. Khi form bị resize thì sẽ làm mất hình. Muốn không bị mất thì mình phải gọi hàm vẽ lại. Cách giải quyết là lưu tất cả những đối tượng mà bạn vẽ trên form vào một List, xong rồi đặt hàm vẽ tất cả các đối tượng này vào trong sự kiện Paint của form. Lúc này khi form bị resize thì sự kiện Paint xuất hiện do đó nó gọi các hàm vẽ mà mình đặt trong này để vẽ lại.
    /* The thing that I think is the thing that I do. */

  3. #3
    Ngày gia nhập
    03 2009
    Bài viết
    3

    Mình hok hiểu ý bạn. Từ ví dụ trên bạn có thể edit code giúp mình không? Vì mình mới học c# sơ sơ nên hok nắm rõ lắm!!!

  4. #4
    Ngày gia nhập
    04 2009
    Nơi ở
    Hà Nội
    Bài viết
    733

    Mình có nhớ trong VB có đặt 1 thuộc tính Auto...gì gì đó thành True thì khi bạn vẽ hình bất kì xong, thu nó xuống thanh Taskbar và cho nó hiện lên sẽ không bị mất.Còn hàm thì mình không biết!.Trong C# không biết chỗ nào như vậy nhỉ?

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

  1. cách xóa 1 đoạn thẳng đã vẽ trong c#
    Gửi bởi satthuvotinh trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 18-05-2012, 03:27 PM
  2. vẽ đường thẳng trong C#
    Gửi bởi gen.infor trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 29-10-2011, 04:55 PM
  3. Trả lời: 2
    Bài viết cuối: 22-09-2011, 07:37 PM
  4. hàm vẽ đường thẳng có màu trong c++
    Gửi bởi sky_night trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 10-11-2010, 06:02 PM
  5. Cách đánh dấu một điểm trên Form (bằng chuột), vẽ một đường thẳng bằng chuột?????????
    Gửi bởi nguyentinh trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 3
    Bài viết cuối: 17-10-2007, 12:17 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