IT, Technológia kategória bejegyzései

[C#] Egyszerű és gyors inputbox adatbekéréshez

Ha a felhasználótól szeretnénk adatot bekérni, viszonylag ritka eset az, hogy egyetlen stringet (vagy stringből átalakítható egyéb adattípust) kérjünk be, de akár elő is fordulhat. Egészen biztosan van ezer plusz egyféle NuGet package ennek megoldására, illetve összetett adat esetén egyébként is javasolt a saját adatbekérő form használata. De ha egyrészt egy gyors, gyári megoldást szeretnénk, másrészt nem kell semmi sallang, erre van egy kevésbé ismert beépített megoldás.

Aki Visual Basic-ben programozik, annak ismerős lesz, de azt talán kevesen tudják, hogy ez elérhető C#-ban is.

C# inputbox

Hogyan működik?

Először is adjuk hozzá a megfelelő VB refrence-t a projektünkhöz:

[Projektnév] > Add > Reference > Assemblies > Microsoft.VisualBasic

C# inputbox

Majd tegyük be a class fejlécébe:

using Microsoft.VisualBasic;

Végül használjuk:

string input = Interaction.InputBox("Prompt", "Title", "Default", x_coordinate, y_coordinate);

C# inputbox

A visszatérési érték egy string a beírt adattal. Üresen hagyott mező vagy "Mégse" gomb lenyomása esetén üres string az eredmény. Csak az első paraméter kötelező, a többi opcionális., ez lesz az inputbox szöveges (magyarázó) része. A többi opcionális, a második lesz az inputbox címsora, a harmadik a default szöveg a beviteli mezőben, míg az utolsó kettő az űrlap pozícióját határozza meg.

Azt nem mondom, hogy minden bajunkat ez meg fogja oldani, de egyrészt rém egyszerű és mindig kéznél van, másrészt ha épp csak ennyire van szükségünk, akkor fölösleges túlbonyolítani.

Egyedüli hátránya, hogy sajnos a kapott inputbox nem átmérezhető, sem programozottan, sem futtatáskor.

Vélemény: Canon EF-M 22mm f/2 STM objektív

Már nagyjából háromnegyed éve használom a Canon EF-M 22mm f/2 STM objektívet, elmondom és megmutatom, hogy mik a tapasztalataim.

Nem tesztnek szánom ezt az írást, egyrészt egy remek tesztvideót tettem be a végére (angol nyelvű!), másrészt nem vagyok profi fotós ahhoz, hogy tesztnek merjem nevezni. Inkább leírom a videó legfontosabb részleteit, amiket kiegészítek a saját tapasztalataimmal.

Tesztképeket sem csináltam épp a fentiek miatt, ráadásul a neten rengeteg tesztfotó érhető el, a Flickr-ön pl. akár magára az objektívre is rá lehet keresni.

Canon EF-M 22mm f/2 STM objektív

Canon EF-M 22mm f/2 STM objektívCanon EF-M 22mm f/2 STM objektívCanon EF-M 22mm f/2 STM objektív

 

Ami megfogott az objektívben, már vásárláskor/előtt:

  • sok jó vélemény (az egyik legjobb EF-M objektívnek titulálják szinte mindenütt)
  • nagyon jó fényerő: f/2.0
  • bár a sebességét nem mindenütt dicsérték, nálam az autofókusz abszolút halkan, akurátusan és gyorsan dolgozik
  • nagyon jó hétköznapi gyújtótávolság: 22 mm (ami full frame-en kb. 35 mm-nek felel meg)
  • nagyon kicsi, könnyű (pedig fémből van)
  • egyáltalán nem drága, 70-80 ezer forint környékén simán megvehető (én akcióban alig több, mint 60 ezerért jutottam hozzá)

 

Nekem nem (annyira) hiányzott, de jó ha tudod:

  • nincs benne képstabilizátor
  • nincs hozzá lens hood (napellenző;), és szerintem használhatót nehéz beszerezni
  • néha már-már túlzottan pici, két kézzel nehéz fogást találni úgy, hogy az ujjad ne érjen bele a képbe
  • a fentihez picit kapcsolódik, hogy hasonló módon néha nehézkes a manuális fókuszgyűrűt használni

Személyes tapasztalataim

Rögtön spoilereznék: akinek Canon M szériás gépe van, kötelező darab ez az optika. Nyilván van ennél sokkal-sokkal jobb objektív, amit akár egy M gépre is fel lehet csattintani, de az is biztos, hogy sokkal borsosabb áron.

Az objektív rajzolata kiváló, élessége, fókusza példás, beltérben és kevés fénynél (éjszaka) nagy segítség az f/2.0-ás rekesz.

Mindenképp említést érdemel, és a videóban is elhangzik, hogy legjobb élességét valahol f/2.8 és picit fölötte hozza, f/11-től már kissé puha a rajzolat, f/2.0-án pedig nem teljesen borotvaéles és hoz némi kromatikusa aberrációt is (ez utólag orvosolható). Ettől függetlenül használom a legnagyobb blendeállásnál is, de ha mód van rá, akkor eggyel lerekeszelem (és feltéve, ha az élesség minden másnál fontosabb).

Alacsonyabb rekeszértékeknél hordótorzítás és vignettálás vehető észre, ez utóbbi f/2.0-nál elég erőteljes, de aki Photoshopot használ, az Adobe Camera - Raw Lens Correction beállításai között (ésszel) eliminálhatja, hisz a ACR felismeri az objektív típusát és korrigálja a hibát.

 

Chris Frost tesztje videóban

 

Összegzés

Minden pénzt megért, csak hogy a lényegre térjek. Amióta megvan, rengeteget használom ezt az obit, kiváló városban és beltérben a rendkívül jó látószöge, rajzolata és fényereje miatt.

Ha neked is Canon M-szériás géped van és hobbifotós vagy hozzám hasonlóan, ezt az objektívet nagyon fogod értékelni!