Chúng tôi đã phát triển một ứng dụng truy cập ms khá nặng, với khoảng 300 biểu mẫu (có!). Khi mã này khởi tạo các biểu mẫu này (và không chỉ 'mở' chúng), chúng ta có thể có nhiều phiên bản của cùng một biểu mẫu được hiển thị trên màn hình.Làm thế nào để nhúng các biểu mẫu truy cập MS trong mô-đun C#?
Để bỏ qua những hạn chế của VBA, và thực hiện kém của một số khái niệm hướng đối tượng như thừa kế, giao diện, đóng gói, vv, mã đang quản lý:
- một bộ sưu tập các cửa sổ làm bằng tất cả các sự các trường hợp hoạt động của biểu mẫu của chúng tôi.
- đối tượng 'cửa sổ ma', chứa tất cả thuộc tính và phương thức bổ sung cần thiết cho mã của chúng tôi.
Vì vậy, như một ví dụ, khi tôi muốn tiếp cận tài sản tiêu chuẩn của một trong những trường hợp của tôi, tôi có thể viết:
MyWindows.accessWindow(hWnd).name
đâu hWnd là handle do Windows, và đặt tên tiêu chuẩn hình thức() tên thuộc tính
Nhưng nếu tôi muốn tiếp cận một tài sản cụ thể của một trong những trường hợp của tôi, tôi có thể viết:.
MyWindows.ghostWindow(hWnd).originalRecordset
đâu nguồn gốc alRecordset 'giữ ADODB.recordset ban đầu đã được nạp khi biểu mẫu được instanciated đầu tiên (có nghĩa là trước khi bất kỳ thay đổi nào được thực hiện bởi người dùng ... có thể thú vị!)
Nó hoạt động rất tốt, nhưng mã hóa nó có thể là một PITA thực , đặc biệt khi người ta biết làm thế nào starighforward nó có thể được để làm một cái gì đó tương tự trong C#, miễn là người ta có thể đóng gói các MS-Access hình thức đối tượng vào một đối tượng C# chung chung hơn. Vì vậy, đây là câu hỏi: một người có thể nhúng biểu mẫu MS-Access vào một đĩa CD C# tự tạo không? Có khả thi không?
Tôi không mong đợi câu trả lời hoàn chỉnh, nhưng tôi đang mong đợi một số trợ giúp để đi đúng hướng. Bất kỳ ý tưởng pals?
Về mặt kỹ thuật ấn tượng, nhưng một bãi mìn thương mại và bảo trì? Gợi ý bạn bắt đầu một gia tăng tái ghi. Viết lại các phần của ứng dụng của bạn vào các ngành dọc dựa trên miền với các phân định rõ ràng đã làm việc cho tôi trong quá khứ. Kết quả là bạn nhận được nhiều C#. –