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: Tạo form full screen trong lập trình C#?

  1. #1
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Mặc định Tạo form full screen trong lập trình C#?

    Mình muốn tạo 1 cái form có thể full screen (ko còn title bar khi full nhưng vẫn có xuất hiện title bar ở chế độ thường).NHư là form trong picasa.Mọi người có cách nào ko???
    Cánh Chym ứ mỏi

  2. #2
    Ngày gia nhập
    09 2007
    Bài viết
    724

    đây cho điếu cày 1 đoạn code demo nè

    Visual C# Code:
    1.  
    2.     public partial class Form1 : Form
    3.     {
    4.         bool flag = false;
    5.         public Form1()
    6.         {
    7.             InitializeComponent();
    8.         }
    9.  
    10.         private void Form1_MouseClick(object sender, MouseEventArgs e)
    11.         {
    12.             if (flag == false)
    13.             {
    14.                 this.FormBorderStyle = FormBorderStyle.None;
    15.                 this.WindowState = FormWindowState.Maximized;
    16.                 flag = true;
    17.             }
    18.             else
    19.             {
    20.                 this.FormBorderStyle = FormBorderStyle.FixedSingle;
    21.                 this.WindowState = FormWindowState.Normal;
    22.                 flag = false;                
    23.             }
    24.         }
    25.     }


    Edit: viết xong, đọc lại câu hỏi thấy sai trấc quấc Edit lại
    Đã được chỉnh sửa lần cuối bởi zkday2686 : 15-12-2008 lúc 03:41 AM.

  3. #3
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Hehe,mình cũng làm đc rồi,hơi phức tạp hơn cách của Z nhưng mà cái taskbar nó xẽ biến mất nhanh hơn cách của Z.Mình xài thêm 1 cái API user32.dll để làm ẩn thanh task bar .Làm theo Z phải đợi 1 tí
    Đã được chỉnh sửa lần cuối bởi dieucay555 : 15-12-2008 lúc 11:52 AM.
    Cánh Chym ứ mỏi

  4. #4
    Ngày gia nhập
    09 2007
    Bài viết
    724

    Hix, hay vậy, cho xem đoạn code đó với

    Giờ mới biết cái này

  5. #5
    Ngày gia nhập
    09 2008
    Nơi ở
    Kĩ viện
    Bài viết
    169

    Thế không topmost à?. Những điều kiện của fullscreen là top most = true, FormBorderStyle = none, WindowState = Maximized.
    Đã được chỉnh sửa lần cuối bởi NamVoDang : 15-12-2008 lúc 12:28 PM.
    Phá toái hư không - Bạch nhật thăng thiên.

  6. #6
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Mặc định Tạo form full screen trong lập trình C#?

    Trích dẫn Nguyên bản được gửi bởi NamVoDang Xem bài viết
    Thế không topmost à?. Những điều kiện của fullscreen là top most = true, FormBorderStyle = none, WindowState = Maximized.
    Uah,đúng rồi.Thanks NVD.đúng là thêm cái this.topmost=true vào thì thanh task nó ẩn nhanh hơn hẳn.
    @Z : mình xài cái SetWindowPos Function để hide or show task bar đi ,nhưng thêm cái của NVD thì tốc độ ẩn taskbar của 2 cách là như nhau.Hehe,khỏi xài API chi cho mệt,thanks cả 2 nhé
    Cánh Chym ứ mỏi

  7. #7
    Ngày gia nhập
    09 2007
    Bài viết
    724

    Thế không topmost à?
    theo zkday nghĩ không cần phải topmost làm gì vì nó FullScreen rồi phải để lại 1 con đường sống chứ nhỉ (lỡ đâu chương trình của mình bị treo - khi gặp 1 bộ test sai chẳng hạn, phải có đường lui chứ nhỉ (:p) )

  8. #8
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    @Z:hehe,nhưng ko set cho topmost thì task bar đợi 1 tí nó mới ẩn đi. Còn 1 chỗ nữa là nếu làm theo cách của Z,nếu cho form là Maximized thì taskbar ko ẩn đi đc
    Cánh Chym ứ mỏi

  9. #9
    Ngày gia nhập
    09 2007
    Bài viết
    724

    uhm đúng nhỉ

    để nghĩ cách khác.

  10. #10
    Ngày gia nhập
    01 2008
    Nơi ở
    Gameloft Studio
    Bài viết
    294

    hehe cái này trên VC++ tớ làm rồi

    Gọi api này:

    ChangeDisplaySettings
    - Để chỉnh màn hình về độ phân giải nào đó (ví dụ 1024x768)

    Visual C++ Code:
    1.     DEVMODE displayMode;
    2.     memset(&displayMode, 0 , sizeof(DEVMODE));
    3.     displayMode.dmSize       = sizeof(DEVMODE);    
    4.     displayMode.dmPelsWidth  = 800;        
    5.     displayMode.dmPelsHeight = 600;
    6.     displayMode.dmBitsPerPel = 16;     
    7.     displayMode.dmFields     =  DM_BITSPERPEL | DM_PELSWIDTH  | DM_PELSHEIGHT;
    8.  
    9.     if (ChangeDisplaySettings(&displayMode,CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL )
    10.         MessageBox("Err");

    CDS_FULLSCREEN có nghĩa là fullscreen tạm thời. Sau khi chương trình kết thúc nó sẽ trả lại độ phân giải như cũ.

    Bây giờ sử dụng thêm thằng api
    ModifyStyleMoveWindow

    Visual C++ Code:
    1. // Huỷ bỏ CAPTION và POPUPWINDOW, thay vào đó là WS_POPUP
    2. ModifyStyle(myHande,WS_POPUPWINDOW|WS_CAPTION,WS_POPUP);
    3.  
    4. // Thay đổi kích thước của sổ đúng độ phân giải
    5. MoveWindow(myHande,0,0,800,600);

    Có nghĩa là cho cửa sổ ở chế độ TOP và đúng với kích thước độ phân giải

    Cái này là fullscreen thật sự như games luôn đó.

    À quên tự chuyển code sang C# nhé
    Đã được chỉnh sửa lần cuối bởi ZCoder87 : 15-12-2008 lúc 02:28 PM.

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

  1. Tạo Full Screen Form trong lập trình C#
    Gửi bởi Kevin Hoang trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 3
    Bài viết cuối: 10-05-2013, 05:33 PM
  2. Hiển thị full screen phần mềm c++ 3.0 trên vista?
    Gửi bởi huynhvison trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 23-06-2009, 06:36 PM
  3. Tạo Dialog với full screen trong lập trình VC++
    Gửi bởi zkday2686 trong diễn đàn Tutorials và Thủ thuật Visual C++
    Trả lời: 2
    Bài viết cuối: 02-03-2009, 11:43 PM
  4. [VC6]Question: Làm sao để tạo một window full screen nhỉ ?
    Gửi bởi hieubm trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 8
    Bài viết cuối: 22-01-2007, 10:14 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