Dialogit. Juha Järvensivu 2007

Samankaltaiset tiedostot
Dialogit. Juha Järvensivu 2008

Valikot ja työkalupalkit. 2008

Graafisen käyttöliittymän ohjelmointi

C# ja.net. Juha Järvensivu 2007

Java layoutit. Juha Järvensivu 2007

Interaktiivinen käyttöliittymä. 2008

Sisällysluettelo. Johdanto Dot NET Microsoft.NET -alusta Käyttäjämallit Ohjelmien kehitys.net-alustalla...

HELIA 1 (1) Outi Virkki Käyttöliittymät ja ohjelmiston suunnittelu :04

Hiirisanomiin vastaaminen. 2007

QT tyylit. Juha Järvensivu 2008

Tapahtumapohjainen ohjelmointi. Juha Järvensivu 2008

Jypelin käyttöohjeet» Ruutukentän luominen

5 Näppäimistö. 5.1 Näppäimistön eventit

Tapahtumapohjainen ohjelmointi

Jypelin käyttöohjeet» Ruutukentän luominen

Tapahtumapohjainen ohjelmointi. Juha Järvensivu 2007

Web järjestelmän ohjelmointi Kevät 2012 Hans Nieminen

C# Windows ohjelmointi perusopas

LIITE 1 1. Tehtävänä on mallintaa kitara ohjeiden mukaan käyttäen Edit Poly-tekniikkaa.

Osio 4: Graafinen käyttöliittymä

Graafisen käyttöliittymän ohjelmointi

KUVANKÄSITTELY POWERPOINT-OHJELMALLA, KUVAN TUOMINEN WORD-DOKUMENTTIIN JA KUVATEKSTIN LISÄÄMINEN

Voit käyttää tekemääsi ohjelmaa seuraavan viikon harjoituksissa, joten kopio työsi hedelmät talteen äläkä tuhoa niitä.

Eclipse 3.2 pikku opas versio 1.0. Esittely Uuden projektin perustaminen Sovelluksen luominen Koodin siistiminen Vinkkejä

Web Services tietokantaohjelmoinnin perusteet

TAULUKKO, KAAVIO, SMARTART-KUVIOT

Käsiteltävät asiat LIITE 3 1. Tehtävänä on mallintaa lipputanko ja siihen lippu ohjeiden mukaan. Cloth. Wind Garment Maker

Leikepöydän käyttö.net ja QT. Juha Järvensivu 2008

Osio 4: Graafinen käyttöliittymä

Videoeditointi: Adobe Premiere Pro CS4

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu

JAVA-OHJELMOINTI 3 op A274615

Planssit (layouts) ja printtaus

TYYLIT. Word Tyylit

Ohjeita LINDOn ja LINGOn käyttöön

HARJOITUSTYÖ ITKP101 Ronja Saarinen

Videoeditointi: Adobe Premiere Pro CC 2014

Tech Conference Visual Studio 2015, C#6,.NET4.6. Heikki Raatikainen. #TechConfFI

Tekla Structures Dialogien muokkaus

KAPPALEMUOTOILUT. Word Kappalemuotoilut

Adobe Photoshop Elements, kuvakäsittelyn perusteet

HP Photo Printing -pikaviiteopas

OHJE EXCEL-MAKRON LUOMISEKSI JA MAKRON KÄYTÖSTÄ

OHJ-7400 Graafisen käyttöliittymän ohjelmointi 4/6op

Taulukot. 1. Taulukon rakenne: ICT01D Elina Ulpovaara

Käyttöliittymän paperiprototyyppi. Koordinaattieditori

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Harjoitus 3: Flash-komponenttiarkkitehtuuri ( )

Ubuntu - tiedostohallinta

Analyysi on helpointa aloittaa painamalla EDIT-painiketta. (Tuotu tiedosto täytyy olla aktiivinen eli valittuna).

1 Dreamweaver MMX. 2 Tekstin muokkaus

Eclipse & WindowBuilder

4.1 Frekvenssijakauman muodostaminen tietokoneohjelmilla

Posterin teko MS Publisherilla

Taulukot Päivi Vartiainen 1

KESKUSTANUORTEN NETTISIVUT- OHJEITA PIIRIYLLÄPITÄJÄLLE 1. KIRJAUTUMINEN

Työvälineohjelmistot KSAO Liiketalous 1

Posterin teko InDesignilla

Käyttöliittymäohjelmointi

Adobe Photoshop ATK Seniorit Mukanetti/ Kuvakerho. Elements tutuksi

Matemaattinen optimointi I, demo

JAVA-OHJELMOINTI 3 op A274615

BaseMidlet. KÄYTTÖOHJE v. 1.00

GRAAFISEN KÄYTTÖLIITTYMÄN OHJELMOINTI JAVA SWING

Winapi. Juha Järvensivu 2007

Muuttujien määrittely

Visuaalinen analytiikka

Windows 10 -käyttöohje

Lomakkeiden suunnittelu. Aiheina

Käsiteltävät asiat LIITE 2 1. Tehtävänä on mallintaa keilarata ohjeiden mukaan. MassFX Boolean Lathe

Mathcad Prime. Kaur Jaakma

BORIS-peruskurssi - Harjoitukset

Kuvan pienentäminen Paint.NET-kuvankäsittelyohjelmalla

Eclipse, SVN ja HelloWorld

Microstation 3D laitesuunnittelu 2014

AUTOCAD-TULOSTUSOHJE. Tällä ohjeella selitetään Autocadin mittakaavatulostuksen perusasiat (mallin mittayksikkönä millimetrit)

Lomakkeiden suunnittelu. Aiheina

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

Mathematica 4.1 Front End

TIE = JOTU. VH5 - MagicDraw

Tulostinajurin ja paperikoon konfigurointiohjeet AutoCad ohjelmille

SQL Buddy JAMK Labranet Wiki

EeNet materiaalit ohje

Harjoitus 2: Oppijan aktivointi ( )

Jypelin käyttöohjeet» Miten saan peliin pistelaskurin?

Windowsin sanomanvälitys. Juha Järvensivu 2007

Eclipse 3.1 Pikaopas versio 1.0

TAMPEREEN TEKNILLINEN YLIOPISTO KÄYTTÖOHJE TIETOVARASTON KUUTIOT

Ohjelman Suositukset. Luku 5 Suositukset

GTK+ ohjelmointi. Juha Järvensivu 2007

1 (14) Ohje. Ohje. GTK-wiki. Geologian tutkimuskeskus, Verkkosivustopalvelut

Kaakkois-Suomen Ammattikorkeakoulu Oy Mikkelin Ammattikorkeakoulu Oy Kymenlaakson Ammattikorkeakoulu Oy

TEHTÄVÄ 1.1 RATKAISUOHJEET

Olio-ohjelmointi Käyttöliittymä

ROMtels-ohjelmiston määritys

Rinnakkaisuus (.NET) Juha Järvensivu 2007

ASCII-taidetta. Intro: Python

Lomakkeiden suunnittelu. Aiheina

OPINNÄYTETYÖN MUUNTAMINEN PDF-MUOTOON. Päivi Toikkanen

Adobe Premiere 6.0 ohjelmasta

Transkriptio:

Dialogit Juha Järvensivu juha.jarvensivu@tut.fi 2007

Dialogi

Yleistä Käyttöliittymäkirjastot tarjoavat valmiin toteutuksen tavallisimmista UI-komponenteista.NET: System.Windows.Forms Peruskomponentteja yhdistelemällä voidaan rakentaa monimutkaisempia komponentteja.net: UserControl Kirjastot tarjoavat myös joitakin valmiita dialogeja FileDialog ColorDialog FontDialog MessageDialog PrintPreview

Haasteita Dialogin selkeä rakenne Rymittele (rivit, sarakkeet, ryhmät (groupbox)) Jaa kokonaisuus useampaan osaan (välilehdet) Noudata annettuja tyyliohjeita (esim kahden komponentin välinen etäisyys) Ikkunan koon muutokset (skaalautuvuus) Suunnittele miten komponentit venyvät, kun ikkunan kokoa muutetaan UI-tekstien muutokset (esim lokalisointi) Varaa aina riittävästi tilaa UI-teksteille

Layout Absoluuttisiin koordinaatteihin perustuva dialogi Helppo toteuttaa Layoutmanageriin perustuva dialogi Parempi tuki skaalautuvuudelle Kahden edellisen yhdistelmä Objektien ankkurointi

Hierarkisuus UI-komponentit voivat sijaita toisen UIkomponentin sisällä

.NET (absoluuttiset koordinaatit)

System.Windows.Forms.Form Ikkunan toteuttava luokka top-level window Dialogi Form.Show() Avaa ikkunan ruudulle Form.DesktopLocation Määrittää ikkunan sijainnin työpöydällä Huom! Pitää kutsua Show-metodin kutsumisen jälkeen ennen ikkunan piirtämistä ruudulle. Esimerkiksi Load eventin käsittelijässä

Modaalisuus // Esim 1. Modaaliton dialogi Form1 f1 = new Form1(); f1.show (); // Esim 2. Modaalinen dialogi Form f1 = new Form1(); f1.showdialog ();

System.Windows.Forms.Panel UI-komponentti, joka sisältää toisia UIkomponentteja (Container) Käytetään komponenttien ryhmittelyyn esim. radiopainikkeet Helpottaa kaikille komponenteille yhteisien ominaisuuksien toteuttamista Esim komponenttien disablointi

Panel p = new Panel(); Button b = new Button(); Textbox tb = new Textbox(); // Init panel p.color = Color.White; p.size = new Size(231,98); p.location = new Point(12,12); p.borderstyle = new BorderStyle.Fixed3D; // Add controls to panel p.controls.add(tb); p.controls.add(b); // Add panel to form this.controls.add(p); Panel

UI-komponenttien lisääminen Oletustoiminta formiin Lisättävälle komponentille annetaan sijaintikoordinaatit ja koko Komponentti lisätään ikkunan Controls propertyyn Mikäli komponentteja lisätään useita, kannattaa layoutin toiminta keskeyttää lisäyksen ajaksi SuspendLayout(); ResumeLayout();

Esimerkkikoodi private void InitializeComponent() { this.button1 = new Button(); this.textbox1 = new Text Box(); SuspendLayout(); // button1 button1.location = new Point(120,116); button1.size = new Size(75,23); button1.text = button1 ; // textbox textbox1.location = new Point(120,146); textbox1.size = new Size(100,23); // form1 this.controls.add(this.button1); this.controls.add(this.textbox1); ResumeLayout(); }

.NET (objektien ankkurointi)

Objektien ankkurointi (Anchor) Kiinnittää komponentin reunan suhteessa isäntäikkunan reunaan ikkunaa venytettäessä komponentin ja ikkunan reunojen välinen etäisyys pysyy vakiona AnchorStyles { BOTTOM,LEFT,RIGHT,TOP, NONE} Oletusarvo LEFT ja TOP

Objektien ankkurointi (Anchor) Button btn = new Button(); btn.anchor = AnchorStyles.BOTTOM AnchorStyles.RIGHT; this.controls.add(btn); 20pix 20pix

Skaalautuvuus Ankkuroinnin avulla voidaan toteuttaa myös komponenttien skaalautuminen ikkunan kokoa muutettaessa Komponentti venyy ikkunan kokoa muutettaessa mikäli se ankkuroidaan vastakkaisista reunoistaan

Skaalautuvuus

Dock-property Kiinnittää komponentin ikkunan reunaan Komponentin koko muuttuu ikkunan koon muuttuessa DockStyle { BOTTOM,LEFT,RIGHT,TOP,FILL,NONE} Oletusarvo NONE Komponentit kiinnittyvät Z-arvon mukaisessa järjestyksessä

Dock-property buttont.dock = DockStyle.TOP; this.controlsadd(buttont);

Ikkunan jakaminen (splitting)

Ikkunan jakaminen

System.Windows.Forms.Splitter Ikkuna voidaan jakaa osiin splitterkomponentin avulla Container Left panel Splitter Right panel

System.Windows.Forms.Splitter panel1 = new Panel(); panel1.backcolor = Color.DarkGray; panel1.dock = DockStyle.LEFT; panel2 = new Panel(); panel2.backcolor = Color.LightGray; panel2.dock = DockStyle.FILL; splitter = new Splitter(); splitter.backcolor = Color.Black; this.controls.add(panel1); this.controls.add(splitter); this.controls.add(panel2);

Valikot

Valikot

Valikot Kaksi vaihtoehtoista tapaa toteuttaa MenuStrip +ToolStripMenuItem (.NET 2.0) MainMenu + MenuItem (.NET 1.0) Eventtejä Click Kutsutaan kun valikkoalkiota klikattiin DropDownMenuOpening Kutsutaan kun valikkoa ollaan avaamassa

Hierarkinen toteutus MenuStrip File New Project File Open Save Help

Esimerkki MenuStrip File New Project File Open Save Help menustrip1 = new MenuStrip(); filemenuitem = new ToolStripMenuItem(); newmenuitem = new ToolStripMenuItem(); menustrip1.items.add(filemenuitem); filemenuitem.items.add(newmenuitem); // Liitetään kokonaisuus formiin this.mainmenustrip = menustrip1;

Valikon pikavalinnat Pikanäppäin (shortcutkey) Esim Ctrl +N. mymenuitem.shortcutkeys = Keys.Control Keys.N; mymenuitem. ShowShortcutKeys = true; Alt-tag Esim. File mymenuitem.text = &File ;

Työkalupalkki

System.Windows.Forms.ToolStrip ToolStrip ts1 = new ToolStrip(); // Lisätään uusi tekstityyppinen itemi ts1.items.add( item1 ); // Näytetään tekstinä (ts1.items[0]).displaystyle = ToolStripItemDisplayStyle.Text; // Liitetään tapahtumakuuntelija (ts1.items[0]).click +=new EventHandler(item_Click); // Liitetään ToolStrip formiin this.controls.add(ts1); ToolStripItem DisplayStyle: Text Image None Image+Text

ToolStripItem Kantaluokka objekteille, joita voidaan lisätä työkalupalkkiin, valikkoon ja tilariville ToolStripButton ToolStripLabel ToolStripSeparator ToolStripControlHost ToolStripComboBox ToolStripTextBox ToolStripProgressBar ToolStripDropDownItem ToolStripMenuItem ToolStripSplitButton ToolSTripDropDownButton ToolStripStatusLabel

Oman komponentin tekeminen

System.Windows.Forms.UserControl Mahdollista luoda omia komponentteja kirjaston tarjoamia komponentteja yhdistelemällä. Uutta komponenttia voidaan käyttää, kuten muitakin UI-komponentteja Hyödyllinen erityisesti silloin, jos samanlaista komponenttia tarvitaan monta kertaa (Esim osoitetietojen kysyminen)

Formin periyttäminen Myös formeja voi periyttää kuten muitakin luokkia Perityn formin komponentit näkyvät editorissa, mutta niiden asetuksia ei pääse muokkaamaan.

Esimerkki Valikko + pikanäppäimet Ikkunan jakaminen (splitter) UserControl + objektien ankkurointi Formin periyttäminen Lista-komponentti

Lähteitä How to: Create a windows forms application http://msdn2.microsoft.com/en-us/library/ms235634.aspx Windows forms controls http://msdn2.microsoft.com/en-us/library/ettb6e2a.aspx System.Windows.Forms.Panel http://msdn2.microsoft.com/enus/library/system.windows.forms.panel.aspx System.Windows.Forms.Form http://msdn.microsoft.com/library/default.asp?url=/library/enus/cpref/html/frlrfsystemwindowsformsformclasstopic.asp