Notatnik

Pierwszy nasz projekt, edukacyjny to Notatnik. Wykorzystane do tego celu będą okna dialogowe oraz strumienie danych. Chcemy, aby w naszym notatniku była możliwość odczytywania danych oraz jego zapisu. Dlatego będą nam potrzebne 2 przyciski i pole tekstowe oraz klasy saveFileDialog i openFileDialog, które także należy dodać z narzędzi. Wszystko powinno wyglądać tak jak na obrazku poniżej:

Pamiętać trzeba, że należy dodać using namespace System::IO, ponieważ działamy na plikach.

Po naciśnięciu przycisku "otworz" chcemy uzyskać dostęp do struktury plikowej, dlatego wpisujemy taki kod:

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
 openFileDialog1->Filter = "Pliki teksowe (*.txt)|*.txt|Wszystkie pliki(*.*)|*.*";
 if (openFileDialog1->ShowDialog()==System::Windows::Forms::DialogResult::OK){
 StreamReader^ plik = gcnew StreamReader (openFileDialog1->FileName,System::Text::Encoding::Default);
 textBox1->Text=plik->ReadToEnd();
 plik->Close();
 }
}

Poprzez metodę Filter ustalamy co ma się wyświetlać w liście "Pliki i typy" oraz jakie pliki mają być wyświetlane. Następnie sprawdzamy czy zostało naciśnięte "OK", a jeśli tak to tworzymy strumień danych tak jak to było tłumaczone w dziale pliki tekstowe. Cały strumień wpisujemy do textBox'a.

Takie samo postępowanie tyczy się dla przycisku zapisz:

private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
 saveFileDialog1->Filter = "Pliki teksowe (*.txt)|*.txt|Wszystkie pliki(*.*)|*.*";
 if (saveFileDialog1->ShowDialog()==System::Windows::Forms::DialogResult::OK){
 StreamWriter^ plik = gcnew StreamWriter (saveFileDialog1->FileName);
 plik->Write(textBox1->Text);
 plik->Close();
 }
}

Poprzez metodę Filter ustalamy format zapisywanego pliku, a następnie sprawdzamy czy został naciśnięty przycisk "OK". Jeśli tak to tworzymy strumień danych który zapisuje dane do pliku.

Od to cała filozofia :)

Teraz możemy sobie dodawać to co chcemy. Np: klocek który zmieni nam kolor tła dla textBox. Wystarczy dodać przycisk i colorDialog z narzędzi na naszą formę oraz wpisać coś takego.

private: System::Void button3_Click(System::Object^  sender, System::EventArgs^  e) {
 if(colorDialog1->ShowDialog()==System::Windows::Forms::DialogResult::OK){
 textBox1->BackColor=colorDialog1->Color;
 }
}

Możemy także zmienić właściwości czcionki za pomocą klasy FontDialog.

private: System::Void button4_Click(System::Object^  sender, System::EventArgs^  e) {
 fontDialog1->MinSize=10;
 fontDialog1->MaxSize=12;
 fontDialog1->ShowColor=true;
 if(fontDialog1->ShowDialog()==System::Windows::Forms::DialogResult::OK){
 textBox1->Font=fontDialog1->Font;
 textBox1->ForeColor=fontDialog1->Color;
 
 }
}

W tym przypadku ustalamy rozmiar czcionki dostępnych w oknie dialogowym (od 10 do 12) oraz czy ma się dać ustawić kolor. Przetestujcie sobie sami.