//----------------------------------------
- Yêu cầu quá rõ rồi. Đề tài này không khó nhưng code hơi dài xíu .
- Bạn đăng cả đề tài thế này thì có nghĩa là bạn không hiểu gì hết. Thế thì cũng không có cách nào nói cho bạn hiểu = 1 bài post.
- Bạn hãy tự phân tích -> Code sơ bộ -> có vấn đề thì hỏi rồi mọi người sẽ chia sẻ.
- Hợp tác từ 2 phía sẽ hay hơn bạn à
PHÁT TRIỂN PHẦN MỀM HỖ TRỢ CÔNG VIỆC
ỨNG DỤNG QUẢN LÝ CHO DOANH NGHIỆP VỪA VÀ NHỎ
(0969.867.490 - ltnghia.wins@gmail.com)
mình cũng đã có làm rồi.nhưng đang bí ở chỗ mình chỉ tạo ra được form từ form ban đầu thôi.Còn những form khác khi nhấn Create Window nó lại ra không đúng vị trí bên phải tiếp theo đó mà chỉ nằm chồng lên thôi. Không biết vấn đề này giải quyết thế nào. Mình còn gà lắm.
//-------------------------
- Lấy kích thướt màn hình : Screen.PrimaryScreen.Bouns.Size
- Lấy/Thiết lập vị trí Form : Location
- Lấy/Thiết lập kích cỡ Form : Size
- Theo đề tài thì bạn sẽ tính được kích thướt Form
-> Bề ngang màn hình được bao nhiêu Form
-> Bề dọc màn hình sẽ được bao nhiêu Form
- Sau khi tính toán bạn sẽ có được 1 mảng các object MyLocation
- mỗi Form khi bạn khởi tạo sẽ lưu Index của 1 MyLocation có HasForm = false, Index này phải nhỏ nhất. Sau đó Set MyLocation.HasForm=trueCode:class MyLocation { public MyLocation(int x, int y){ this.X = x; . this.Y = Y; HasForm = false; } public int X {get; set} public int Y {get; set} public bool HasForm {get; set} }
- khi Form bị đóng thì truy MyLocation có Index tương ứng trong mảng. Set MyLocation.HasForm = false.
- Còn vấn đề gõ vào TextBox thì bạn tự tìm hiểu
-> Muốn pro thì tìm hiểu delegate
-> Đơn giản hơn thì dùng static List<Form> listForm để lưu các Form đang mở.
- Chúc thành công
PHÁT TRIỂN PHẦN MỀM HỖ TRỢ CÔNG VIỆC
ỨNG DỤNG QUẢN LÝ CHO DOANH NGHIỆP VỪA VÀ NHỎ
(0969.867.490 - ltnghia.wins@gmail.com)
Đề bài rất rõ ràng:
1. Size: thay vì hardcode thì dùng công thức w = getWidth()/4; h = getHeigth()/3
2. Location: dựa vào location của form tạo ra. Xác định biên và tính toán hợp lý thì thôi ~~> cũng đơn giản mà.
3. Manage: Mỗi form dùng 1 list để lưu tất cả các form được tạo ra (mỗi khi new một form mới thì add luôn form này vào list form)~~> cái này cũng đơn giản nốt.
Hết!
YH : lobuocphuudu_218
Phone : 0126 463 5095
cám ơn mọi người, mình sẽ làm thử, có gì mong các bạn giúp đỡ
- - - Nội dung đã được cập nhật ngày 28-11-2014 lúc 12:47 AM - - -
Mình đã lưu các tọa độ tính toán được vào arraylist. Cho mình hỏi bây giờ khi tạo form mới thì làm thế nào để lấy tọa độ từ arraylist để gán vào tọa độ của form
Đâu cần phải lưu trước tọa độ, khởi tạo Form nào thì tính vị trí Form đó dựa vào số lượng form đang hiển thị.
Ví dụ đã tạo 12 form(1 lớp) thì đầy màn hình nhưng bạn muốn tạo thêm n Forms (tức thêm vài lớp) nữa thì giải quyết thế nào khi đã tạo trước 1 arraylist tọa độ rồi => mắc công lại tính tọa độ rồi add vào arraylist thêm lần nữa <= logic code false vì tốn thêm bộ nhớ cho 1 mảng tọa độ trong khi mảng các Form là đủ giải quyết rồi. Form close thì set null là xong.
Cám ơn mọi người.Dù chưa hoàn thiện, nhưng cũng cảm thấy vui vì đã làm được
- - - Nội dung đã được cập nhật ngày 28-11-2014 lúc 06:42 AM - - -
Cám ơn bạn. Mình đã làm lại và thành công. nhưng còn cái tắt cửa sổ bất kỳ rồi chèn vào lại mình vẫn chưa rõ, bạn có thể giải thích được k?
Khi tắt 1 Form bất kỳ thì bạn truy cập vào mảng form theo index và set nó = null.
=> Khi tạo mới thì duyệt vị trí index trong mảng Form xem đứa nào có giá trị = null thì renew nó thế thôi.
* Còn nếu close form ở vị trí cuối cùng của mảng Form thì remove nó ra khỏi mảng Form ngay và luôn.