sobota, 26 marca 2011

[C#] Okno otwierania/zapisywania pliku, okno wyboru koloru/czcionki czyli OpenFileDialog, SaveFileDIalog, ColorDialog, FontDialog.

        W większości programów umożliwiających wczytywanie / zapisywanie do pliku, zmianę czcionki lub koloru wykorzystywane są znane wszystkim okna dialogowe systemu Windows. Poniżej przedstawiam krótki tutorial jak się tym zająć.

1. Tworzymy nowy projekt w Visual Studio:
File->New->Project->Windows Form Application.

2. Następnie dodajemy do formy 3 przyciski:
  • button1, Text = Otwórz Plik,
  • button2, Text = Zmień Kolor,
  • button3, Text = Zmień Czcionkę.


 3. Następnie klikając dwukrotnie na Otwórz Plik wpisujemy w funkcji obsługi zdarzenia poniższy kod:




private void otworzPlik_Click(object sender, EventArgs e)
        {
            OpenFileDialog okienko = new OpenFileDialog();
            okienko.Filter = "Pliki textowe (txt)|*.txt";
            if (okienko.ShowDialog() == DialogResult.OK)
            {
                MessageBox.Show("Wybrano plik: " + okienko.FileName);
            }
        }

 Obiekt OpenFileDialog służy do wyświetlania okienka, w kótrym otwieramy plik. Analogicznie w celu stworzenia okna zapisu użylibyśmy obiektu SaveFileDialog. Właściwość Filter określa jakie pliki mają być brane pod uwage przy wczytywaniu. Format Stringa odpowiedzialny za filtrowanie ma postać: "nazwa | rozszerzenie( np. *.txt) ". Kolejne rodzaje plików oddzielamy od siebie znakiem "|".  Następnie wywołujemy metodę odpowiedzialną za wyświetlanie okienka ShowDialog(). Jeżeli zwróci ona DialogResult.OK, generujemy komunikat zawierający nazwę i ścieżkę do pliku.


 4. Następnie piszemy kod obsługujący przycisk Zmień Kolor:




private void zmienKolor_Click(object sender, EventArgs e)
        {
            ColorDialog okienkoKoloru = new ColorDialog();
            if (okienkoKoloru.ShowDialog() == DialogResult.OK)
            {
                this.BackColor = okienkoKoloru.Color;
            }
        }

Tworzenie okna oraz pobieranie koloru jest analogiczne do pliku. Tym razem jednak przypisujemy właściwość Color do formularza. Wykorzystywany obiekt to ColorDialog.



 5. W ostatnim przypadku wykorzystujemy obiekt FontDialog. Przypisujemy następnie pobraną właściwość Font przyciskom znajdującym się na formie (button1, button2, button3).




private void zmienCzcionke_Click(object sender, EventArgs e)
        {
            FontDialog okienkoCzcionki = new FontDialog();
            if (okienkoCzcionki.ShowDialog() == DialogResult.OK)
            {
                button1.Font = okienkoCzcionki.Font;
                button2.Font = okienkoCzcionki.Font;
                button3.Font = okienkoCzcionki.Font;
            }
        }

Brak komentarzy:

Prześlij komentarz