CentrumXP.pl » Witamy
CentrumXP.pl
 
Szukaj
Subskrypcja
Powiadomienie e-mailem o nowościach na CentrumXP.pl:
E-mail: Zapisz
Czy zamierzasz pobrać Internet Explorer 9?


CentrumXP.pl » Microsoft .NET » Visual C# w praktyce » Dodaj do ulubionych Dodaj do ulubionych   Dodaj do ulubionych Wersja do wydruku

Notatnik w C#

Autor: Marcin Hałaczkiewicz    Opublikowano: 15 czerwca 2006    Odsłon: 55286    »Skomentuj...
Strona 1 z 2  Następna»
Zobacz również:

Analogowy zegarek

Budzik w C#

Commander w C#

Kalkulator w C#

Komunikator w C#

Mini Paint w C#

Przeglądarka internetowa w C#

Przeglądarka zdjęć w C#

Przetwarzanie obrazów

Snake w C#

Tetris w C#

Wygaszacz ekranu w C#

»Uzyskaj pomoc na forum

Dziś napiszemy prostą aplikację przypominającą Notatnik - standardowy składnik Windows. Nauczymy się jak dodać menu do programu, poznamy również metody postępowania z kontrolką TextBox. Dowiemy się także jak zapisać/odczytać tekst do i z pliku oraz wykorzystamy wbudowane w .NET okienka dialogowe.

Na początek tworzymy nowy projekt, nazwa - Notatnik. Taki sam tekst wpisujemy we właściwości Text nowo utworzonej formy, którą nazywamy frmNotatnik. Rozmiar zostawiamy domyślny, tzn. 300x300. Dodajmy teraz menu. W tym celu wybieramy z toolboxa MenuStrip i klikamy na formatkę. Nazwę menu zmieniamy na menu. Po jego utworzeniu zobaczymy (w edytorze graficznym) miejsce do wpisania tekstu, będzie tam napisane Type Here. Klikamy w to miejsce i piszemy Plik. Następnie pod spodem pojawi się takie same pole, w które wpisujemy Nowy, później Otwórz, dalej Zapisz i na samym dole Zapisz jako. Na razie zostawmy świeżo utworzone menu i zajmijmy się stworzeniem miejsca do pisania. Dodajemy kontrolkę TextBox i nazywamy ją txtTresc. Location dajemy na 0;24, a Size na 292;243. Klikamy na strzałeczkę przy właściwości Anchor i wybieramy wszystkie 4 ściany (Top, Bottom, Left, Right). Dzięki temu podczas zmiany wielkości formy okienko z tekstem nadal będzie ją całą wypełniać (będzie "trzymało" się wszystkich 4 boków). Dodajemy jeszcze pasek pionowego przewijania zmieniając ScrollBars na Vertical oraz pozwólmy na pisanie w wielu linijkach poprzez ustawienie MultiLine na true. Nasz programik jest już prawie gotowy, musimy jeszcze tylko oprogramować menu. Zanim to zrobimy, przejdźmy do widoku kodu formy. U góry pliku dopiszmy:

using System.IO;

W przestrzeni nazw IO znajdują się klasy, dzięki którym można zapisywać do/z plików.
Dodajmy do formy jedną zmienną:

string plik = "";

Posłuży ona do zapamiętania nazwy pliku, z którym aktualnie pracujemy. Potrzebna będzie również funkcja:

private DialogResult czyzapisac()
{
    DialogResult odp = MessageBox.Show("Chcesz zapisać zmiany?", "Notatnik",
    MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation);
    if (odp == DialogResult.Yes)
        zapiszToolStripMenuItem_Click(null, null);
    return odp;
}

Przyda się podczas np. zamykania okna programu. Jeśli będzie wpisany jakiś tekst, to padnie pytanie czy go zapisać. zapiszToolStripMenuItem_Click to funkcja (zdarzenie) wywoływana po wybraniu opcji zapisz w menu, zaraz zajmiemy się jej oprogramowywaniem.

Wracamy do edytora graficznego, rozwijamy menu i klikamy 2 razy na Nowy. W nowo powstałym zdarzeniu wpisujemy:

if (txtTresc.Text != "")
{
    DialogResult odp = czyzapisac();
    if (odp == DialogResult.Cancel)
        return;
    plik = "";
    txtTresc.Clear();
}

Będzie ono odpowiedzialne za wyczyszczenie starego tekstu i na życzenie użytkownika zapisanie go do pliku. Teraz to samo (2 x klik) robimy z Otwórz, wpisujemy kod:

if (txtTresc.Text != "")
{
    DialogResult odp = czyzapisac();
    if (odp == DialogResult.Cancel)
        return;
    plik = "";
    txtTresc.Clear();
}
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "Plik tekstowy (*.txt)|*.txt";
dialog.Multiselect = false;
dialog.ShowDialog();
if (dialog.FileName != "")
{
    plik = dialog.FileName;
    StreamReader f = new StreamReader(plik);
    txtTresc.Text = f.ReadToEnd();
    f.Close();
}


1 2 Dalej» 

Aktualna ocena to: 4,5

Oceń artykuł...
Porażka Kiepski Taki Sobie Dobry Super!

Tagi:  

A teraz:    Dodaj do ulubionych Dodaj do ulubionych    Wydrukuj Wydrukuj    Wyślij link znajomemu Wyślij link znajomemu    Skomentuj Skomentuj

Komentarze do Notatnik w C#

Dodaj komentarz»

m010ch 15 czerwca 2006, 16:15

Kolejny świetny tutorial :) Oby takich jak najwięcej, bo w praktyce najlepiej nauczyć się każdego języka :) Czekam na kolejne! No i może coś z ASP.NET + SQL Server wreszcie się uda?

abc 16 czerwca 2006, 16:23

Wszystko spoko, ale nie chce mi wczytać słówka StreamReader: Error 1 The type or namespace name 'StreamReader' could not be found (are you missing a using directive or an assembly reference?). Co mam zrobić?

Marcin Hałaczkiewicz 16 czerwca 2006, 18:20

Klasa StreamReader należy do przestrzeni nazw System.IO., tak więc u góry pliku z formą (Form1.cs lub frmNotatnik.cs) powinno znajdować się: using System.IO; Moje niedopatrzenie, artykuł już poprawiony.

Davis 21 czerwca 2006, 22:14

Mam lamerskie pytanko :) Gdzie wpisac string plik = ""; bo nie mam pojecia

Marcin Hałaczkiewicz 22 czerwca 2006, 11:50

U góry pliku Form1.cs znajduje się taka oto linijka: public partial class frmNotatnik : Form i pod spodem klamra otwierająca. Jest to fragment definicji klasy frmNotatnik (czyli naszej formy). Jak mówię "dodajemy do formy", to mam namyśli dopisywanie zmiennych do tej właśnie klasy. Innymi słowy dopisujesz string plik = ""; zaraz po klamrze otwierającej {. Jak dalej nie wiesz o co chodzi to zajrzyj do pliku źródłowego Form1.cs (ew. frmNotatnik.cs).

whistler 26 czerwca 2006, 17:14

Wszystko ładnie pięknie dziala ale mam jedno pytanie - jak utworzyć nowe zdarzenie "FormClosing". Jakoś nie moge sobie z tym poradzić :/

Marcin Hałaczkiewicz 27 czerwca 2006, 17:30

Będąc w trybie graficznym musisz kliknąć gdzieś na wolnym polu formy (najlepiej na górnym, niebieskim pasku), wtedy w okienku Properties pojawią się jej właściwości. Jest tam żółta ikonka w kształcie pioruna. Po jej naciśnięciu w oknie pojawi się lista zdarzeń dla danego elementu (w tym przypadku formy). Tam znajdujesz FormClosing i klikasz 2 razy w puste pole tekstowe po prawej od nazwy zdarzenia - reszta zrobi się automatycznie.

Lukasz 16 sierpnia 2007, 15:34

Ja bym troszke zmienil: Okienko z wyborem nazwy pliku do zapisu po kliknieciu przycisku Anuluj powinno wracac do programu a nie go zamykac.

Lord500 15 marca 2008, 21:57

Mam pytanko... czy można ustawić tak, aby w "Zapisz" , "Zapisz jako" "Otwórz" był nowy typ pliku ?? Tak, żeby było kilka...

Polska 3 maja 2008, 14:04

Mam lamerskie pytanko :) Gdzie wpisac string plik = ""; bo nie mam pojecia

Mikołaj kopernik 2008 3 maja 2008, 14:11

Mam pytanko niewiem gdzie wpisac string plik = "";

Marcin Hałaczkiewicz 3 maja 2008, 14:58

m010ch 15 czerwca 2006, 16:15 Kolejny świetny tutorial :) Oby takich jak najwięcej, bo w praktyce najlepiej nauczyć się każdego języka :) Czekam na kolejne! No i może coś z ASP.NET + SQL Server wreszcie się uda? abc 16 czerwca 2006, 16:23 Wszystko spoko, ale nie chce mi wczytać słówka StreamReader: Error 1

JJJJJJJJ 3 maja 2008, 15:12

C# dopiero poznaje i miedzy innymi z kursu tutaj zamieszczonego ale ten przyklad nie jest jakis super... Uruchamiajac cmdWynik_Click powodujemy cmdKropka.Enabled = false; jednak pozniej juz tego nie zmieniamy wiec powtorne urzycie cmdKropka nie jest mozliwe. Nalezaloby dopisac do pokazznaki() linijke: cmdKropka.Enabled = true; Autor poswiecil sporo estetyce i niezawodnosci ale pomimo ze tylko kilka razy uruchomilem pisana aplikacje to wylapalem cos takiego: po wprowadzeniu liczby, wybraniu dzialania, wprowadzeniu liczby i wybraniu "=" mozemy ponownie wprowadzic liczbe jednak nie mozemy wybrac dzialania tzn teoretycznie tak ale aplikacja wykona "=" z dzialaniem zapamietanym przy pierwszym dzialaniu. Ja widze przynajmniej dwa sposoby rozwiazania tego malego niedopatrzenia

gvfg 10 czerwca 2008, 15:32

1.Tworzymy nowy projekt 2.Wybieramy z toolboxa kontrolkę MenuStrip 3.kontrolce MenuStrip i wpisujemy Edycja niżej Wytnij kopiuj Wklej Usuń i Zaznacz wszystko. 4.Wybieramy toolboxa kontrolkę RichTextBox 5.klikamy dwa razy na Wytnij i wpisujemy kod richTextBox1.Cut(); 5.klikamy dwa razy na Kopiuj i wpisujemy kod richTextBox1.Copy(); 6.klikamy dwa razy na Wklej i wpisujemy kod richTextBox1.Paste(); 7.klikamy dwa razy na Usuń i wpisujemy kod richTextBox1.SelectedText = ""; 8.klikamy dwa razy na Zaznacz wszystko i wpisumy kod richTextBox1.SelectAll();.

Olo 3 stycznia 2009, 16:35

Fajna Aplikacylka tylko trache poprawek i gotowe.Np. zamiast TextBoksa trzeba dać RichTextBox.

qic 25 marca 2009, 14:59

Adres do mojego projektu. Program jest oparty na tym tutorialu, jednak został mocno zmodyfikowany i dodano wiele opcji. Myślę, że może się wam przydać. Zezwalam a wręcz zachęcam do modyfikacji i umieszczania własnych projektów.
 
http://chomikuj.pl/qic/Programowanie/c*23+Simple+Notepad+25-03-2009.zip

carck3r 29 marca 2009, 11:04

Dzięki qic, przydało mi się.

asusik 26 marca 2010, 21:14

Wielkie dzieki bardzo mi to pomoglo :)

hp21 22 maja 2011, 23:33

a mozna prosic o haselko do tego pliku?;">


Dodaj swój komentarz

»Zasady udzielania komentarzy

Autor:  
Komentarz:
Dodaj komentarz
© 2012 Onex Group
Onex Group O Onex Group  |  O CentrumXP.pl  |  Kontakt  |  Reklama
Nasze serwisy: CentrumXP.plXboxSpot.pl  |  Jama Mastaha