Gå til innhold

Anbefalte innlegg

Er det noen her som har erfaring med C# og GTK?

 

Er ute etter en enkel gjennomgang/reference, men det jeg finner er helst nybegynnerguider som tar høyde for at en ikke kan programmering fra før. Jeg har en del erfaring med C++, i konsoll og med SDL.

 

Det første jeg lurer på er såpass enkelt som hvordan jeg kan lage input-bokser (tilsvarende 'GTK:Entry') som behandler input som tall, og ikke tekst. Det nærmeste jeg kommer er "Spin button", men den er ikke så veldig praktisk..

 

Håper noen kan peke meg i riktig retning ;)

Lenke til kommentar
Videoannonse
Annonse
Er det noen her som har erfaring med C# og GTK?

 

Er ute etter en enkel gjennomgang/reference, men det jeg finner er helst nybegynnerguider som tar høyde for at en ikke kan programmering fra før. Jeg har en del erfaring med C++, i konsoll og med SDL.

 

Det første jeg lurer på er såpass enkelt som hvordan jeg kan lage input-bokser (tilsvarende 'GTK:Entry') som behandler input som tall, og ikke tekst. Det nærmeste jeg kommer er "Spin button", men den er ikke så veldig praktisk..

 

Håper noen kan peke meg i riktig retning ;)

Det er da sikkert en trillion C# guider på nettet. Jeg har aldri prøvd monodevelop, men går jo ut ifra at dette burde være rimelig det samme som Visual Studio, i hvertfall 2003 versjonen. Ellers så har du en masse gode siter som codeproject.com, msdn.com csharpcorner.com etc.etc.

Lenke til kommentar

MonoDevelop bruker Gtk# som standard av en eller annen grunn. Winforms er mer eller midnre ferdig, og fungerer nesten sømløst med .NET.

problemet er at MonoDevelop har enda ikke laget en designer (ihvertfall ikke i den versjonen jeg har) for Winforms2.

 

Gtk# er tungvint i bruk i forhold, fordi Gtk er i utgangspunktet for C++ og klarte overgangen til C# svært dårlig.

 

I Winforms kunne du brukt MaskedEdit, men i Gtk# tror jeg du nesten må bruke Entry komponenten sin Changed og int.TryParse... uten at jeg er noen ekspert på Gtk#

 

Jeg tror jeg lar Monodevelop være til de får en Winforms designer.

Lenke til kommentar
Gtk# er tungvint i bruk i forhold, fordi Gtk er i utgangspunktet for C++ og klarte overgangen til C# svært dårlig.

Gtk# kan virke tungvindt, men det er egentlig ganske genialt. Selv liker jeg Gtk# mye bedre enn Winforms, men det kan komme av at jeg programmerte med Gtk lenge før Mono var påtenkt :)

 

I Gtk# bygger man opp grensesnittet ved hjelp av bokser og setter properties for hvordan boksene skal oppføre seg når de resizes. Det skiller seg ganske fra Winforms hvor grensesnittet designes med koordinater og docking (som jeg har sliti mye med!). Da får man vinduer som lar seg resize mye lettere og som ikke er designet for en oppløsning, slik mange VB-programmer i sin tid var. Egentlig er nemlig Gtk# genialt, det mangler bare noen widgets for litt basiske ting og sist jeg sjekket var ikke databindingen helt ferdig.

 

Gtk er i utgangspunktet C, ikke C++ (gtkmm er C++-varianten).

Endret av steingrim
Lenke til kommentar

Ok

Ihvertfall så er det ting som er håpløst komplisert i Gtk# som for eksempel å legge til items i en combobox eller listbox. hvorfor er dette en egen datatype, fremfor å bruke object og ToString slik det er gjort i Winforms?

 

Btw Winforms2 skal etter det jeg har forstått nå fungere mer eller mindre i både linux og windows. Jeg har ikke helt fått testet det, fordi de fleste programmene jeg har lagt ut krever enten OpenAL eller OpenGL gjennom P/Invoke.

 

ElectroShack funker ikke på grunn av "Method not found: System.Windows.Forms.PageSetupDialog.set_EnableMetric" så det er noen kink igjen enda, kanskje jeg heller ikke har nyeste versjon av Winforms2 på denne.

 

edit:

 

Jeg må si jeg er imponert over hvor langt mono er kommet, det er mer eller mindre ferdig, og det meste i Windows Forms er på plass, og C# 3.0 fungerer fint

Endret av GeirGrusom
Lenke til kommentar

Beklager hvis jeg spør dumt, men hvor kalles egentlig funksjoner opp?

 

Jeg bruker designeren for å konstruere vinduet, og tildeler noen knapper funksjoner.

Jeg ønsker å returnere en verdi fra funksjonen, for å kunne bruke denne neste gang funksjonen kalles opp.

Dette burde jo være greit med å sende argumenter til funksjonen, og bruke return, men jeg kan ikke se hvor funksjonen _faktisk_ kalles opp i kildekoden (jeg har kun tildelt funksjonen i designeren)

Lenke til kommentar
Fremgangsmåten er at du velger Signals, finner frem for eksempel Changed, deretter skriver du et navn, for eksempel "Entry_Changed" eller noe mer oppfinnsomt. Trykk deretter på enter, som gjør at du havner i koden til funksjonen.

Jeg er klar over det, men hvor finner jeg koden som sier at "når knappen blir trykket på skal funksjon 'Entry_Changed' kjøres?" Ikke bare i designeren?

Lenke til kommentar

Hmm.. men hvordan kan jeg få event-funksjonen til å returnere en variabel til main? Og hvordan sende en variabel som argument når den bare kalles opp i en xml-fil?

 

Edit: tror kanskje jeg skal lese litt mer heller. Merker at det er en stund siden jeg har programmert ;)

Endret av cp-nilsen
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...