2009-09-16 29 views
5

Trong ứng dụng WinForms của tôi, tôi có một vài hộp văn bản mà người dùng đã nhập một số dữ liệu vào. Tôi muốn lưu trữ dữ liệu, nhưng tôi không muốn sử dụng cơ sở dữ liệu. Trong thời gian đá C++ của tôi, tôi chỉ sử dụng một .ini. Bằng cách nào đó, app.config dường như không thích hợp để lưu trữ dữ liệu này.Làm cách nào để lưu trữ dữ liệu người dùng trong WinForms?

Các tùy chọn khác của tôi là gì?

Trả lời

11

Tôi sẽ nói tệp .config là đúng vị trí. Chỉ cần chắc chắn sử dụng khu vực phạm vi User của tệp Settings.settings thay vì phạm vi Ứng dụng.

Điều này hoạt động tốt cho các loại dữ liệu đơn giản và khi bạn có giá trị cố định cần được lưu vì bạn cần xác định biến nào bạn muốn lưu trữ tại thời điểm thiết kế. Vì vậy, nếu hộp văn bản của bạn được tạo động và bạn không biết nhiều giá trị bạn cần lưu trữ thì không phải là rất hữu ích.

Sử dụng IsolatedStorage có thể là một tùy chọn tốt khác. Bạn có thể tạo tệp của riêng mình ở bất kỳ định dạng nào bạn muốn (giữ bất kỳ giá trị nào bạn cần) và lưu trữ nó vào máy cục bộ trong "IsolatedStorage".

+0

Câu trả lời hay hơn! +1. –

6

Bạn có thể tạo thư mục ở đâu đó trên đĩa và chỉ cần viết tệp ở bất kỳ định dạng phù hợp nào (XML, văn bản thuần túy, lựa chọn của bạn). Ví dụ, bạn có thể thực hiện việc này theo đường dẫn được chỉ ra bởi Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) hoặc Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData).

+0

Bạn và tôi, chúng tôi cũng nghĩ như vậy. :-) +1 và câu trả lời hay! –

3

Tôi sẽ xem xét bộ nhớ riêng biệt. Nó rất dễ dàng để thiết lập cho mỗi người dùng. Và vì nó chỉ yêu cầu một phần sự tin tưởng, nó sẽ làm việc cho bất kỳ kịch bản triển khai nào.

Kiểm tra điều này introduction.

1

Tạo tệp .config hoặc tệp dữ liệu khác (ví dụ: xml) trong dữ liệu ứng dụng cho người dùng cụ thể.

sử dụng system.environment.specialfolder để nhận thư mục ApplicationData, thêm thư mục con với tên công ty của bạn, trong thư mục con này với tên ứng dụng của bạn, bên trong tệp dữ liệu này cho người dùng cụ thể này. Do đó,

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\YourCompany\\YourApplication\\YourData.config" 
1

Tôi tin rằng địa điểm thích hợp để lưu trữ cài đặt người dùng trong WinForms 2.0 sẽ nằm trong tệp cài đặt (không phải tệp cấu hình). Here's bài viết nhanh để giải thích.

2

Tùy thuộc vào số lượng biến/dữ liệu bạn đang tìm cách lưu tệp app.config/settings có thể là nơi lý tưởng.

Kiểm tra tab Cài đặt trong thuộc tính Project và lưu ý rằng bạn có thể đặt cả Cài đặt ứng dụng và Cài đặt người dùng. Cài đặt ứng dụng ảnh hưởng đến toàn bộ ứng dụng. Cài đặt người dùng được lưu trữ cho mỗi người dùng.

Phần của app.config chứa cài đặt người dùng sẽ được lưu vào thư mục người dùng khi chúng được lưu và tái hợp nhất khi chúng khởi động lại ứng dụng.

Kiểm tra this url cho một giới thiệu về cài đặt/sử dụng ứng dụng trên MSDN và cũng this SO url cho một câu hỏi tương tự .:

Bạn cũng có thể nhìn vào lưu trữ quen thuộc file .ini cũ của bạn trong một mỗi .ini người dùng bằng cách xem Thư mục đặc biệt enum theo địa chỉ this url.

Các vấn đề liên quan