Logowanie i zapis aktualnego stanu formy

Logowanie i zapis aktualnego stanu formy
PO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 92
0

Wyobraźmy sobie , że mam prosty panel logowania. Loguje się : login - aaaa, hasło bbb.
Moja forma ma 5 checkboxów , które po prostu sobie są , nic nie robią, można je tylko zaznaczać.
Niech checkboxy mają nazwy : ch1 , ch2, ch3 , ch4, ch5
Zaznaczam sobie ch1, ch2 , ch3, wylogowuję się z programu. Jaką funkcję mogę wykrzystać, by stan mojej formy był zapisywany w zależności od zalogowanego użytkownika? Bo wyobraźmy sobie usera xxxx , który zaznaczy jednego checkboxa i po ponownym zalogowaniu powinien widzieć tylko jednego checkboxa. Z góry dzięki za wskazówki, pomoce itd. Pozdrowionka

SO
  • Rejestracja: dni
  • Ostatnio: dni
mariano901229
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 597
0

W bazie danych, w plikach, w plikach konfiguracyjnych. Przechowywać nazwę użytkownika i te dane w odniesieniu do danego usera.

grzesiek51114
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2442
1

Jak nie chcesz bazy danych to możesz serializować ustawienia do plików XML o nazwach w zależności od np. loginu użytkownika.

Używasz takich oto namespace'ów:

Kopiuj
using System.Xml.Serialization;
using System.IO;

Tworzysz klasę do serializacji. Musi być z dostępem publicznym:

Kopiuj
[Serializable]
public class Dane {
	public string Login { get; set; }
	public bool CzyZaznaczony { get; set; }
	// etc...
}

Później zapisujesz dane normalnie do pliku XML serializując dane:

Kopiuj
var daneLogowania = new Dane();

// Załóżmy, że obiekt `daneLogowania` jest wypełniony danymi.
var serializer = new XmlSerializer(typeof(Dane));
var strumien = new StringWriter();
serializer.Serialize(strumien, dane);
File.WriteAllText(dane.Login + ".cfg", strumien.ToString());

I masz :) Możesz tak zapisywać nawet całe kolekcje danych wstawiając powiedzmy:

Kopiuj
typeof(List<Dane>)

Deserializujesz używając StringReader'a i metody Deserialize klasy XmlSerializer, która zwróci Ci obiekt klasy object. Wystarczy do skonwertować na cokolwiek co spodziewasz się, że masz w typeof().
Baaaardzo przydatna metoda i niezależna od typów danych przechowywanych w klasie do serializacji (no... prawie niezależna). Po deserializacji masz gotowy obiekt wypełniony danymi ze wskazanego pliku. Nie musisz martwić się o parsowanie czy wymyślanie formatu zapisu danych etc... Idealna rzecz do przechowywania konfiguracji. Jak chcesz jakieś hasełka mieć to możesz je zaszyfrować dodatkowo i szlus :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.