C# Windows Forms Zastosowania Informatyki Wykład 3

Slides:



Advertisements
Podobne prezentacje
C++ wykład 2 ( ) Klasy i obiekty.
Advertisements

Jarosław Kuchta Monitory.
Programowanie wizualne
Programowanie Wizualne WYKŁAD 5
Programowanie obiektowe
Programowanie obiektowe
Systemy rozproszone W. Bartkiewicz
Implementacja ekstensji klasy
Jan Aleksander Wierzbicki
Programowanie obiektowe w Javie
Nowa wersja C# Autor: Piotr Sobczak
.NET - możliwości Jarosław Balcer & Jan Góralski.
Tworzenie ASP.NET Web Form
Programowanie w środowiskach zintegrowanych wykład 1 PSZ Programowanie w Środowiskach Zintegrowanych > Systemy i środowiska zintegrowane > Środowisko zintegrowane.
1 Języki i techniki programowania prowadzący dr Grzegorz Filipczyk.
1 Języki i techniki programowania prowadzący dr Grzegorz Filipczyk.
Wyższa Szkoła Ekologii i Zarządzania
Technologia.Net Bazy danych. Technologia ADO.Net Służy do dostarczania danych z rożnych źródeł (baz danych) do aplikacji Jest produktem Microsoft Umożliwia.
Technologia ASP.NET.
Visual C++ Zastosowania Informatyki Wykład 6 Copyright, 2003 © Adam Czajka.
C# Windows Forms Zastosowania Informatyki Wykład 4, 5
C# Windows Forms Zastosowania Informatyki Wykład 2
PROJEKTOWANIE TABEL W PROGRAMIE: ACCESS
Integracja aplikacji Wykład 2
Programowanie urządzeń mobilnych – wykład IV
Obiekty dynamiczne Tworzenie klas 3 MPDI Programowanie obiektowe W4.
Programowanie w Środowisku Windows
Tadeusz Ziębakowski Zachodniopomorski Uniwersytet Technologiczny.
Podstawy programowania II
PIO 3_2, Zofia Kruczkiewicz1 Wykład 3 – część druga Iteracyjno-rozwojowy cykl oprogramowania 3.
Poznajemy pulpit.
Programowanie w środowisku DELPHI
Janusz ROŻEJ GENERATORY APLIKACJI Generatory aplikacji Janusz ROŻEJ
Temat : Okna - większe i mniejsze, czyli operacje na oknach programu
Programowanie obiektowe III rok EiT
Programowanie obiektowe
Programowanie obiektowe – zastosowanie języka Java SE
Java – coś na temat Klas Piotr Rosik
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
C# Platforma .NET CZ.3 Kuba Ostrowski.
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Okienkowy system operacyjny
OCPJP Inner classes.
Projektowanie stron WWW
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Responsywne aplikacje w Windows 8 i.NET 4.5 Jakub Binkowski.
Iteracje w C# Informatyka Cele lekcji: Wiadomości: Uczeń potrafi:
Podstawy programowania (4)
Technologie internetowe Wykład 7 Kontrola danych użytkownika.
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Technologia.Net Bazy danych. Technologia ADO.Net Służy do dostarczania danych z rożnych źródeł (baz danych) do aplikacji Jest produktem Microsoft Umożliwia.
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Wykład 9 Programowanie w Windows 1.Programowanie zdarzeniowe 2.Zdarzenia obsługiwane przez Windows 3.Aplikacja obsługująca klawisz myszki 4.AppWizard PO9-1.
Wykład 11 Aplikacje SDI PO11-1 / 22 Single Document Interface 1.Klasy aplikacji SDI 2.Menu systemowe aplikacji SDI 3.Serializacja 4.Tworzenie widoku 5.Tworzenie.
Wykład 10 Programowanie w Windows 1.Aplikacja dialogowa (Dialog Based) PO10-1 / 26.
Partnerstwo dla Przyszłości 1 Lekcja 27 Klasy i obiekty.
Partnerstwo dla Przyszłości 1 Lekcja 28 Dziedziczenie i rodzaje dziedziczenia.
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Wykład 4 Dr Aneta Polewko-Klim
Programowanie Obiektowe – Wykład 6
Strumienie, Wczytywanie, Zapisywanie, Operacje na plikach
Przykładowe zadanie egzaminacyjne.
Projektowanie GUI VS2010 C# Windows Forms
Programowanie Obiektowe – Wykład 2
Visual Basic w programie Microsoft Excel
Programowanie obiektowe – zastosowanie języka Java SE
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5
PGO - Projektowanie i implementacja pierwszych klas
Zapis prezentacji:

C# Windows Forms Zastosowania Informatyki Wykład 3 adam.czajka@wsnhid.pl Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka Spis treści Aplikacja Obiekt WinForm Copyright, 2004 © Adam Czajka

Aplikacja „Cykl życia” aplikacji .NET Aplikacja Obiekt Form1 Application.Run(Form1); Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka Aplikacja „Cykl życia” aplikacji .NET Platforma .NET Aplikacja .NET Funkcja_obsługi_zdarzenia_1 Funkcja_obsługi_zdarzenia_2 Funkcja_obsługi_zdarzenia_3 Funkcja_obsługi_zdarzenia_4 . . . . . . Funkcja_obsługi_zdarzenia_N kolejka komunikatów start koniec komunikat ? WM_QUIT ? wywołaj procedurę obsługi TAK NIE Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka Aplikacja „Cykl życia” aplikacji .NET Aplikacja Obiekt Form1 Form2 Obiekt niemodalny Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka Aplikacja „Cykl życia” aplikacji .NET Aplikacja Obiekt Form1 Form2 Obiekt modalny Obiekt Form1 Form3 Form2 Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka Aplikacja „Cykl życia” aplikacji .NET Aplikacja Obiekt Form1 Form2 Obiekt modalny Obiekt Form1 Form4 Form2 Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka Aplikacja „Cykl życia” aplikacji .NET Aplikacja Obiekt Form1 Form2 Application.Exit(); Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka Aplikacja „Cykl życia” aplikacji .NET Aplikacja Obiekt Form1 Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka Aplikacja „Cykl życia” aplikacji .NET Aplikacja Koniec programu Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka Aplikacja Obiekt Application Wszystkie komponenty są statyczne Właściwości : public static string CompanyName {get;} public static CultureInfo CurrentCulture {get; set;} public static InputLanguage CurrentInputLanguage {get; set;} public static string ExecutablePath {get;} public static string ProductName {get;} public static string ProductVersion {get;} public static string StartupPath {get;} public static string UserAppDataPath {get;} public static RegistryKey UserAppDataRegistry {get;} Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka Aplikacja Obiekt Application Wszystkie komponenty są statyczne Metody : public static void DoEvents(); public static void EnableVisualStyles(); public static void Exit(); public static void Run( Form mainForm ); Zdarzenia : public static event EventHandler Idle; public static event ThreadExceptionEventHandler ThreadException; Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka Aplikacja AssemblyInfo.cs Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka Aplikacja Form1.cs Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka WinForm Obiekt formy (okna) Pola – odpowiedzialne za wygląd okienka i jego „zachowanie” Zdarzenia – pozwalają reagować na sytuacje zachodzące wewnątrz okienka Metody – pozwalają kontrolować okienko Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka WinForm – właściwości 1 Kolor tła Rysunek tła Typ kursora myszki Czcionka Kolor tekstu Rodzaj ramki Tytuł okienka Nazwa obiektu Copyright, 2004 © Adam Czajka

WinForm – właściwości 2 Automatyczne skalowanie okienka Automatyczne „przewijanie” okienka położenie okienka na ekranie Rozmiar minimalny okienka Rozmiar maksymalny okienka Rozmiar początkowy okienka Przycisk akceptacji „okna dialogowego” Przycisk anulowania „okna dialogowego” Copyright, 2004 © Adam Czajka

WinForm – właściwości 3 Menu systemowe włączone Ikona programu Przycisk maksymalizacji okna widoczny Menu programu Przycisk minimalizacji okna widoczny Stopień przeźroczystości okna Okno widoczne na „pasku zadań” Okno typu „Top-Most” Kolor przeźroczysty Copyright, 2004 © Adam Czajka

WinForm – zdarzenia „klik” myszką wewnątrz okienka Podwójny „klik” myszką wewnątrz okienka Odrysowywanie okienka Zamykanie okienka Ładowanie okienka Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka WinForm – metody public void Activate(); public void Close(); public Graphics CreateGraphics(); public void Hide(); public void Invalidate(); public virtual void Refresh(); public void Show(); public DialogResult ShowDialog(); public DialogResult ShowDialog( IWin32Window owner ); public void Update(); public bool Validate(); DialogResult.None, DialogResult.OK, DialogResult.Yes, DialogResult.No, DialogResult.Cancel Copyright, 2004 © Adam Czajka

Tworzenie i zamykanie formy - okienka WinForm Tworzenie i zamykanie formy - okienka private void button1_Click(object sender, System.EventArgs e) { //utworzenie nowej formy - dialogu Form dlg1 = new Form(); dlg1.Show(); } private void InformationProcessed() { // ustawienie wyniku wykonania dla formy – powoduje zamknięcie // bieżacej formy this.Close(); } Copyright, 2004 © Adam Czajka

Tworzenie i zamykanie formy - okienka WinForm Tworzenie i zamykanie formy - okienka private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) { if (MessageBox.Show("Czy zakończyć program ?", "Pytanie", MessageBoxButtons.YesNo) == DialogResult.No) e.Cancel = true; } Copyright, 2004 © Adam Czajka

Tworzenie i zamykanie formy - dialogu WinForm Tworzenie i zamykanie formy - dialogu private void button1_Click(object sender, System.EventArgs e) { //utworzenie nowej formy - dialogu Form dlg1 = new Form(); dlg1.ShowDialog(); } private void InformationProcessed() { // ustawienie wyniku wykonania dla formy – powoduje zamknięcie // bieżacej formy DialogResult = DialogResult.Yes; } Copyright, 2004 © Adam Czajka

Wstawianie komponentów WinForm Wstawianie komponentów Obiekt „zegara”, każdy obiekt w ramach formy jest identyfikowany poprzez swoją unikalną nazwę – tu: timer1 Copyright, 2004 © Adam Czajka

Wstawianie komponentów WinForm Wstawianie komponentów Aktywacja zegara będzie następowała w obsłudze zdarzenia „OnLoad”, a deaktywacja w procedurze obsługi zdarzenia „OnClosing” Zegar włączony ? Interwał czasowy Nazwa obiektu Copyright, 2004 © Adam Czajka

Wstawianie komponentów WinForm Wstawianie komponentów int licznik = 0; private void Form1_Load(object sender, System.EventArgs e) { timer1.Interval = 1000; timer1.Enabled = true; } private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) { timer1.Enabled = false; } private void timer1_Tick(object sender, System.EventArgs e) { licznik++; this.Text = licznik.ToString("D6"); } Copyright, 2004 © Adam Czajka

Wstawianie komponentów WinForm Wstawianie komponentów private void timer1_Tick(object sender, System.EventArgs e) { licznik++; if (licznik == 30) { Application.Exit(); return; } else { this.Text = licznik.ToString("D6"); } } Następuje bezwarunkowe zakończenie działania aplikacji Copyright, 2004 © Adam Czajka

Wstawianie komponentów WinForm Wstawianie komponentów Wstawiamy przycisk Copyright, 2004 © Adam Czajka

Wstawianie komponentów WinForm Wstawianie komponentów private void button1_Click(object sender, System.EventArgs e) { MessageBox.Show("To jest test "); } Po naciśnięciu przycisku, licznik cały czas zlicza sekundy Copyright, 2004 © Adam Czajka

Wstawianie komponentów WinForm Wstawianie komponentów using System.Threading; ............... private void button1_Click(object sender, System.EventArgs e) { for (int i=0; i<60; i++) { Thread.Sleep(500); } } Po naciśnięciu przycisku, licznik zatrzymuje się na okres 30 sekund Copyright, 2004 © Adam Czajka

Wstawianie komponentów WinForm Wstawianie komponentów using System.Threading; ............... private void button1_Click(object sender, System.EventArgs e) { for (int i=0; i<60; i++) { Application.DoEvents(); Thread.Sleep(500); } } Po naciśnięciu przycisku, licznik nie zatrzymuje się Copyright, 2004 © Adam Czajka

Wstawianie komponentów WinForm Wstawianie komponentów Application.DoEvents() Umożliwia przetworzenie wszystkich oczekujących zdarzeń (także tych związanych z odrysowywaniem okienka) Zaburza jednowątkowy charakter programu – teraz możliwe jest rozpoczęcie wykonywania obsługi drugiego zdarzenia bez zakończenia obsługi zdarzenia pierwszego Konieczne jest stosowanie obiektów synchronizujących dostęp do sekcji krytycznych programu !!! Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka WinForm Własne okno dialogowe Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka WinForm Własne okno dialogowe Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka WinForm Własne okno dialogowe Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka WinForm Własne okno dialogowe private void button1_Click(object sender, System.EventArgs e) { Form2 dlg = new Form2(); if (dlg.ShowDialog(this) == DialogResult.Yes) { MessageBox.Show("TAK"); } else { MessageBox.Show("NIE"); } } Copyright, 2004 © Adam Czajka

Wstawianie komponentów WinForm Wstawianie komponentów Po naciśnięciu przycisku, pojawia się modalne okno dialogowe - licznik nie zatrzymuje się Po upływie 30 sekund, niezależnie od stanu aplikacji jest ona bezwzględnie zamykana - metoda Application.Exit() Po naciśnięciu przycisku, modalne okno dialogowe zamyka się i pojawia się okno z komunikatem Copyright, 2004 © Adam Czajka

Copyright, 2004 © Adam Czajka Podsumowanie Aplikacja Obiekt WinForm Copyright, 2004 © Adam Czajka