[C#] Jak udělat, aby byl ArrayList přistupnej v několika Formech? – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

[C#] Jak udělat, aby byl ArrayList přistupnej v několika Formech? – .NET – Fórum – Programujte.com[C#] Jak udělat, aby byl ArrayList přistupnej v několika Formech? – .NET – Fórum – Programujte.com

 

Liner0
Duch
22. 1. 2010   #1
-
0
-

Ahoj. Mámasi docela stupidni dotaz, ale opravdu si stim nevim rady :) Mám několik oken (Form) a potřebuju mit nějakej hlavni arraylist vytvorenej v tom hlavnim okne ale abych moh s datama z něho pracovat i v jinym formu. proste hlavni okno je pro vypis toho arraylistu a dalsi okno je pri pridani prvku do toho arraylistu a nevim jak udelat aby byl pristupnej i votm druhym okne.
Snad mi rozumite jak to myslim :) předem díky za reakce :)

Nahlásit jako SPAM
IP: 88.100.89.–
22. 1. 2010   #2
-
0
-

To Liner : Tak ho těm dalším formům předej v konstruktoru, to by nešlo?

Nahlásit jako SPAM
IP: 84.21.124.–
Dušan Janošík | web: djanosik.cz, @djanosik
Liner0
Duch
22. 1. 2010   #3
-
0
-

To djanosik : a nemohl bys mi sem napsat nejakej jednoduchej priklad treba tech dvou formu? :) pokud by teto neobtezovalo :) z příkladu to pochopim mnohem lip.

Nahlásit jako SPAM
IP: 88.100.89.–
22. 1. 2010   #4
-
0
-

To Liner : No mohl bych, ale taky můžu bejt úplně mimo, protože nevím, jak tvůj kód vypadá a proč tam ten ArrayList vlastně je. Třeba by to šlo řešit lépe.

Nahlásit jako SPAM
IP: 84.21.124.–
Dušan Janošík | web: djanosik.cz, @djanosik
Liner0
Duch
22. 1. 2010   #5
-
0
-

To djanosik : arraylist tam je jako dynamicky pole do kteryho se budou ukladat objekty, ketry se budou dat editovat mazat..atd.. proste ten progrmamá bejt jakotakova hoodne jedoducha databaze filmu treba... v hlavnim okne bude vypisovy okno a tlacitka pro pridani odebrani mazani a takovyhleveci.. kliknu na pridej vyskoci jiny okno kam napisu do text boxu ty data a ulozi seto jako objekt do toho arraylistu. kdyz to bude editace tak se do tech textboxu nactou data pro ten danej prvek z toho array listu.a takhle.. vim ze popis neni uplne nejlepsi:) ale snad se to da nejak pochopit jak to myslim :)

proste jde mi jenom o to ze nevim kde presne zalozit ten arraylist abych snim moh pracovat v ostanich formech. pristup k nemu byl v tech jinech formech treba mujarraylist.add(objektfilm) ,nebo se pletu?

Nahlásit jako SPAM
IP: 88.100.89.–
Judegar
~ Anonymní uživatel
21 příspěvků
22. 1. 2010   #6
-
0
-

Co třeba singleton:

http://msdn.microsoft.com/en-us/library/ms998558.aspx

Nahlásit jako SPAM
IP: 109.73.214.–
Liner0
Duch
23. 1. 2010   #7
-
0
-

To Judegar : no podle tooh co ma čtu to vypda dobre. ale nevim jak to dat na muj pripad presne.

mám to takhle.ve Form1 je jenom tlacitko ktery spusti Form2.a ve Form2 je přidani objektu do arraylistu, kterej byměl bejt ve Form1,abych snim moh pracovat tam (vypis). Ve Form2 ho tam potrebuju pridat.

using System;

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Databaze
{

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Form2 nj = new Form2();
nj.Show();
}
}
}


using System;

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Databaze
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
Mp3 jep = new Mp3();
jep.Skupina = "kat";
jep.Nazev = "dole";
jep.Album = "coda";
jep.Rok = 1995;
Form1.seznam.Add(jep); //pridani prvku do arraylistu kterej je ve Form1


listBox1.Items.Add(jep);
}
}
}


doufám, že ted jeto trochu srozumitelnější :)

Nahlásit jako SPAM
IP: 88.100.89.–
23. 1. 2010   #8
-
0
-

To Judegar : Co jsem pochopil, Singleton by nesplňoval požadavky.

To Liner : Nebylo by lepší ve Form1 vytvořit instanci ArrayListu a pak ji předat do Form2? Třeba přes zmíněnej konstruktor? Nebylo by lepší místo ArrayList použít generickou kolekci?

public partial class Form1 : Form 

{
private ArrayList list = new ArrayList();

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Form2 nj = new Form2(this.list);
nj.Show();
}
}
public partial class Form2 : Form 

{
public Form2(ArrayList list)
{
InitializeComponent();
Mp3 jep = new Mp3();
jep.Skupina = "kat";
jep.Nazev = "dole";
jep.Album = "coda";
jep.Rok = 1995;

list.Add(jep); //pridani prvku do arraylistu kterej je ve Form1

listBox1.Items.Add(jep);
}
}

Nahlásit jako SPAM
IP: 84.21.124.–
Dušan Janošík | web: djanosik.cz, @djanosik
Liner0
Duch
23. 1. 2010   #9
-
0
-

To djanosik : moc diky:) přesne taklhe sme ot nejak myslel :) a tu generickou kolekci pouziju asi spis :) kazdopádne tohle vyresilo presne muj problem takze jestejendou diky :) vim,že tohle je opravdu zrovna blbost, tak snad sem moc neobtěžoval :)

Nahlásit jako SPAM
IP: 88.100.89.–
23. 1. 2010   #10
-
0
-

To Liner : Což o to, neobtěžoval, každej někdy začínal. Jen si dej pozor, abys nepokračoval stylem "teorie je k ničemu, naučím se to praxí", protože takovej přístup často nefunguje (je nutnej nějakej základ, na kterým můžeš stavět).

Nahlásit jako SPAM
IP: 84.21.124.–
Dušan Janošík | web: djanosik.cz, @djanosik
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 20 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý