Valikot ja työkalupalkit juha.jarvensivu@tut.fi 2008
Sisältö Valikko Popup-valikko Työkalupalkki Tilarivi Sovellus ikoni Action
Valikko
MenuStrip Form mainwindow = new Form(); MenuStrip mainmenu = new MenuStrip(); mainwindow.controls.add(mainmenu ); mainwindow.mainmenustrip = menumenu;
ToolStripMenuItem MenuStrip mainmenu = new MenuStrip(); ToolStripMenuItem fileitem = new ToolStripMenuItem(); fileitem.text = File ; mainmenu.items.add(fileitem);
Hierarkisuus ToolStripMenuItem fileitem = new ToolStripMenuItem(); fileitem.text = File ; ToolStripMenuItem newitem = new ToolStripMenuItem(); newitem.text = New ; ToolStripMenuItem projectitem = new ToolStripMenuItem(); projectitem.text = Project ; fileitem.dropdownitems.add(newitem); newitem.dropdownitems.add(projectitem);
Trigger-event ToolStripMenuItem projectitem = new ToolStripMenuItem(); projectitem.text = Project ; projectitem.click += new System.EventHandler(projectItem_Click); private void projectitem_click(object sender, EventArgs e) { MessageBox.Show("Not implemented"); }
Valikon disablointi ToolStripMenuItem fileitem = new ToolStripMenuItem(); fileitem.text = File ; fileitem.enabled = false; Huom! Ei estä pikanäppäimiä lapsi-alkioilta
Valikon piilottaminen ToolStripMenuItem fileitem = new ToolStripMenuItem(); fileitem.text = File ; fileitem.visible = false; Huom! Ei estä pikanäppäimiä lapsi-alkioilta
Pikavalinnat ToolStripMenuItem projectitem = new ToolStripMenuItem(); projectitem.text = Project ; projectitem.shortcutkeys = (System.Windows.Forms.Keys.Control System.Windows.Forms.Keys.P); projectitem.showshortcutkeys = true;
Alt-tag ToolStripMenuItem fileitem = new ToolStripMenuItem(); fileitem.text = &File ; ToolStripMenuItem newitem = new ToolStripMenuItem(); newitem.text = &New ; ToolStripMenuItem projectitem = new ToolStripMenuItem(); projectitem.text = &Project ; ALT + F avaa File valikon
Valikon päivittäminen Milloin päivittää valikon tila? Ohjelma tarkkailee tilaansa ja päivittää valikon heti kun ohjelman tila muuttuu Valikko päivitetään vasta sitten kun se avataan
DropDownOpening - event Tapahtuma lähetetään juuri ennen valikon aukaisemista ToolStripMenuItem fileitem = new ToolStripMenuItem(); filitem.dropdownopening += new System.EventHandler(fileOpening); void fileopening (object sender, System.EventArgs e) { // Update menu state here }
On-Off (checked) ToolStripMenuItem projectitem = new ToolStripMenuItem(); projectitem.text = &Project ; projectitem.checked = true;
Popup-valikko
ContextMenuStrip Form mainwindow = new Form(); ToolStripMenuItem item = new ToolStripMenuItem( test item ); ContextMenuStrip popupmenu = new ContextMenuStrip(); popupmenu.items.add(item ); mainwindow.contextmenustrip = popupmenu;
ContextMenuStrip Sama menu itemi ei voi olla kahdessa valikossa yhtä aikaa Sama popup-valikko voidaan liittää useampaan komponenttiin
ToolStripSeparator Form mainwindow = new Form(); ContextMenuStrip popupmenu = new ContextMenuStrip(); popupmenu.items.add( new ToolStripMenuItem( test item ) ); popupmenu.items.add( new ToolStripSeparator() ); popupmenu.items.add( new ToolStripMenuItem( test item2 ) ); mainwindow.contextmenustrip = popupmenu;
Työkalupalkki
ToolStrip ToolStrip toolstrip = new System.Windows.Forms.ToolStrip(); ToolStripMenuItem item = new ToolStripMenuItem( test item ); toolstrip.items.add(item);
Kuvan lisääminen menu itemiin ToolStripMenuItem item = new ToolStripMenuItem( test item ); item.displaystyle = ToolStripItemDisplayStyle.Image; item.image = new Bitmap("C:\\Documents and Settings\\All Users\\Documents\\My Pictures\\Sample Pictures\\Sunset.jpg"); DisplayStyle: Text Image None Image+Text
Kuvan lukeminen applikaation resursseista Image m = ((System.Drawing.Image)(resources.GetObject("m.Image"))); Form.resx: <data name="m.image" type="system.drawing.bitmap, System.Drawing" mimetype="application/xmicrosoft.net.object.bytearray.base64"> <value>.. </value> </data>
Työkaluvihje (tooltip) ToolStripMenuItem item = new ToolStripMenuItem( test item ); item.tooltiptext = test item ;
ToolStrip objekteja ToolStripButton ToolStripLabel ToolStripSeparator ToolSTripDropDownButton ToolStripComboBox ToolStripTextBox ToolStripProgressBar
Tilarivi
StatusStrip Form mainwindow = new Form(); statusstrip = new StatusStrip(); mainwindow.controls.add(statusstrip);
MainMenu vs MenuStrip.NET 1.0: MainMenu ja MenuItem.NET 2.0: ToolStrip-alkuiset luokat
Sovelluksen ikoni
Aplikaation ikonin asettaminen Form mainwindow = new Form(); mainwindow.icon = ((System.Drawing.Icon)(res ources.getobject("$this.ico n")));
Action
Action Kapseloi toiminnon, joka voidaan liittää useaan eri käyttöliittymä elementtiin (menu, toolbar jne) Auttaa pitämään käyttöliittymä kontrollit synkassa keskenään Löytyy valmiina Java ja Qt ympäristöistä, mutta ei.net:stä
Action Menu Popup menu Toolbar Button Action name Icon Enabled Visible Trigger event Sovellus
Esimerkki (QT) openact = new QAction(QIcon(":/images/open.png"), tr("&open..."), this); openact->setshortcut(tr("ctrl+o")); openact->setstatustip(tr("open an existing file")); connect(openact, SIGNAL(triggered()), this, SLOT(open())); filemenu->addaction(openact); filetoolbar->addaction(openact);