» »

[Visual Basic] Med sabo povezani formi

[Visual Basic] Med sabo povezani formi

zila90 ::

Pozdravljeni!
Zanima me, kako bi naredil 2 formi v Visual Basicu, ki bi bili povezani med sabo?
1. forma bi bila nekakšen editor v katerem bi izbral določene playliste, slike,
youtube playliste ipd., 2 bi pa izbrano samo prikazovala (torej ne bi mogli več
izbirati posameznih elementov).
Hvala za pomoč!

zila90 ::

Da se izrazim še drugače:

1. forma bi bila nekakšen editor oz. bi vsebovala kontrole za media player, spremembo barve ozadja ipd.,
2. forma bi pa izbrane videoposnetke oz. playliste samo prikazovala in prenesla izbrano barvo ozadja.

Torej bi 1. forma služila kot nekakšen kontrolni panel za 2. formo, ki bi služila zgolj kot prikazovalnik.

Če se je kdo s čim podobnim že ukvarjal, lepo prosim za pomoč.

darkkk ::

Koncept:
1. Malo razširiš formo1, kamor se shranijo vrednosti (barva, izbire, ....), ter dovoliš dostop do vrednosti tega 2. formi.
2. V konstruktor 2. forme natlačiš neki, da ti vzame vrednosti iz 1. forme.

V celoti gre pa tole malo drugače, jaz v C# najraje take vrednosti kar v settinge stlačim. Tj: forma1 naloada settinge, jih popravi, shrani. Forma2 pa te settinge uporabi. Lahko pa to tudi v bazo pišeš ali pa v txt file :)

Verjetno bi se ti splačalo kaj prebrati na temo user-interface-ov ipd. (sam nimam več prav dosti stika s tem).

nightrage ::

Pač implementiraš interface v eni formi in ga preneseš v drugo formo.

Utk ::

Interface? Si se naučil novo kul besedo pa jo ven mečeš ob vsaki priliki? Kaj ima interface s tem? Človek rabi v drugi formi referenco na to kaj je izbrano na prvi, ali direktno, ali pa na fajl, bazo, karkoli kjer se bo to shranilo, če se sploh bo kje.

nightrage ::

Utk: Aha. In to ne more narediti z interface-om! Ne lapi, če sploh ne veš kaj je Interface, pa raje povej, kako bi se to dalo še drugače narediti.

Za takšne bedake kot je Utk prilagam še psevdokodo.

Interface A {
 void igrajIzbranoPesem(string mp3Path)
}

Forma1 implements A
{
   private Player p;
   private Form b;
   Public Forma1()
{
p = new Player();
b = new Form();
b.RegisterSongSelector(this);
}
  public void igrajIzbranoPesem(string mp3Path)
  {
     p.play(mp3Path);
  }

  private void OdpriFormoB()
 {
   b.ShowModal();
 }
}

Forma2
{
  private A songRegistrator;
  Public Forma2()  { }
  public void RegisterSongSelector(A tmpSongRegistrator)
  {
     songRegistrator = tmpSongRegistrator;
  }

  private void IzberiKomad()
 {
   FileDialog dlg = new FileDialog ();
   ...
   songRegistrator.igrajIzbranoPesem(dlg.path);
 }
}

Utk ::

Jaz vem kaj je interface, on pa verjetno ne, če to sprašuje, se ti ne zdi? Tam si dal interface v register, lahko bi dal pa Forma1 in bi glih tako špilal tist komad.

Zgodovina sprememb…

  • spremenil: Utk ()

nightrage ::

Če bi ti vedel kaj je Interface se ne bi dal take butaste izjave ven, "da sem se naučil novo besedo in jo mečem v vsaki priliki ven".
Če nimaš rešitve za njegov problem ne lapi po forumu.

kr?en ::

Ce potrebujes neke nastavitve (barva, privzeta glasnost, privzeta velikost zaslona), te shrani v nek file/bazo, ki ga beres v drugi formi. Bv kvackat nekaj s interfacei.

Utk ::

Sem napisal kaj rabi. Referenco. Če je to interface, class, pointer na ne vem kaj, ime datoteke, baze, karkoli, ni pomembno, oz. se naj sam odloči.
Čisto vsakič ko hočeš iz enga klasa videt drug klas ni treba ravno interfejsa. Rabiš pa referenco na njega.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C# začetniško vprašanje - klicanje metode

Oddelek: Programiranje
101029 (799) vorantz
»

C#, TextBox in PopUp forma

Oddelek: Programiranje
61097 (991) MarCar
»

C# iz form2 v form1,textboxi

Oddelek: Programiranje
131939 (1565) Keki
»

C# Pomoč

Oddelek: Programiranje
131396 (1221) jizzer
»

[C#] Dostop do objekta iz različnih form

Oddelek: Programiranje
182160 (1873) Kekec

Več podobnih tem