Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kreiranje objekta od strane korisnika

[es] :: .NET :: .NET Desktop razvoj :: Kreiranje objekta od strane korisnika

Strane: 1 2

[ Pregleda: 4431 | Odgovora: 27 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bigguy
borisav ignjatov
nista
zrenjanin

Član broj: 87859
Poruke: 267
*.zrlocal.net.



+1 Profil

icon Kreiranje objekta od strane korisnika18.02.2009. u 13:06 - pre 184 meseci
Da li je moguce da na osnovu stanja u bazi na MAIN formi se pojavljuje ili ne pojavljuje CheckBox, a da pritom taj CheckBox nisam ja prevukao na formu i njegovu vidljivost regulisao preko Visible, nego njegovo postojanje korisnik regulise? Prost primer: Imam upitnu formu za korisnika u kojoj on treba da upise u TextBox "0" ili "1", a zatim pritiskom dugmeta OK trebalo bi da se otvori nova forma, prazna ako je odabrana "0" i forma sa CheckBox-om i tekstom u checkBox-u koji glasi "USPEH" ako je odabrana "1". Imali neko ideju kako da kreiram ovu mogucnost za korisnika, da on ustvari odredjuje sta ce biti na formi?
 
Odgovor na temu

vujkev
Beograd

Član broj: 8072
Poruke: 1347
*.telekom.yu.



+104 Profil

icon Re: Kreiranje objekta od strane korisnika18.02.2009. u 13:26 - pre 184 meseci
Code:
If nesto = 1 then
        Dim ch As New CheckBox
        ch.Text = "USPEH"
        ch.Top = 11
        ch.Left = 50
        ' itd ....
        Me.Controls.Add(ch)
end if 

Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

bigguy
borisav ignjatov
nista
zrenjanin

Član broj: 87859
Poruke: 267
212.200.180.*



+1 Profil

icon Re: Kreiranje objekta od strane korisnika18.02.2009. u 18:27 - pre 184 meseci
C# je jezik, ali iz ovoga sto si ovde naveo mislim da nesto kontam, ali moracu prvo da probam. Ovo mi deluje dosta jednostavno, razmisljao sam na jedan drugi nacin (mnogo komplikovaniji) a mozda se bas u ovoj jednostavnosti krije i odgovor Nista ostaje mi da probam pa cu saznati sve.
 
Odgovor na temu

vujkev
Beograd

Član broj: 8072
Poruke: 1347
212.200.240.*



+104 Profil

icon Re: Kreiranje objekta od strane korisnika18.02.2009. u 23:01 - pre 184 meseci
koristan link http://www.developerfusion.com/tools/convert/csharp-to-vb/
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

milan1233
Bor

Član broj: 186154
Poruke: 281
93.86.211.*



+1 Profil

icon Re: Kreiranje objekta od strane korisnika19.02.2009. u 11:27 - pre 184 meseci
Evo ja da ne otvaram novu temu, nadovezacu se na ovu:

Treba mi kod (vb) za prevlacenje itema (npr. ovog gore checkboxa) po formi, tzv. drag n drop?
 
Odgovor na temu

bigguy
borisav ignjatov
nista
zrenjanin

Član broj: 87859
Poruke: 267
*.zrlocal.net.



+1 Profil

icon Re: Kreiranje objekta od strane korisnika20.02.2009. u 09:22 - pre 184 meseci
Ok, uspeo sam da napravim da korisnik moze sam da kreira CheckBox. Ali kako sad ja da omogucim da ukoliko korisnik CheckBox postavi na stanje true da mi se tada npr. pojavi label.Text "RADI!"?
 
Odgovor na temu

marko1981
Marko Nikolic
Beograd

Član broj: 123059
Poruke: 144
*.static.sbb.rs.



Profil

icon Re: Kreiranje objekta od strane korisnika20.02.2009. u 09:53 - pre 184 meseci
Moras da dodas EventHandler metodu na dogadjaj.

Code:

CheckBox chk = new CheckBox();
//...
chk.CheckedChanged += new System.EventHandler(this.chk_CheckedChanged);


Code:


private void chk_CheckedChanged(object sender, EventArgs e)
{    
    // na primer
    lbl.Text = ((CheckBox)sender).Checked ? "Radi" : "Ne radi";
}


U konstruktoru forme sigurno imas poziv metode InitializeComponent(). Njena definicija se nalazi u fajlu ImeForme.Designer.cs. Kad nesto dodas/promenis u design modu, upisace se u ovaj fajl. Proanaliziraj ovaj fajl, moze ti biti korisno.
 
Odgovor na temu

bigguy
borisav ignjatov
nista
zrenjanin

Član broj: 87859
Poruke: 267
*.zrlocal.net.



+1 Profil

icon Re: Kreiranje objekta od strane korisnika20.02.2009. u 10:57 - pre 184 meseci
Ok, to sam skontao ali meni ustvari nastaje problem kada generisem u istom momentu i label i checkBox. Tada label treba da zavisi od toga da li je checkBox na true ili na false. Izgleda da nisam predhodno pitanje dobro formulisao. :-/
 
Odgovor na temu

marko1981
Marko Nikolic
Beograd

Član broj: 123059
Poruke: 144
*.static.sbb.rs.



Profil

icon Re: Kreiranje objekta od strane korisnika20.02.2009. u 11:08 - pre 184 meseci
Daj kod koji ti pravi problem.
 
Odgovor na temu

bigguy
borisav ignjatov
nista
zrenjanin

Član broj: 87859
Poruke: 267
*.zrlocal.net.



+1 Profil

icon Re: Kreiranje objekta od strane korisnika20.02.2009. u 11:19 - pre 184 meseci
private void Form1_Load(object sender, EventArgs e)
{
//TODO: This line of code loads data into the 'dsObradaUzorka.tblObradaUzorka' table. You can move, or remove it, as needed.
this.tblObradaUzorkaTableAdapter.Fill(this.dsObradaUzorka.tblObradaUzorka);

Class1 conn1 = new Class1();
conn1.setSqlConnection();

clsFunc.odredjivanje_TotalRow("tblAnalize");

for (int i = 0; i <= clsVariables.sTotalRow; i++)
{
if (i != 0)
{
if (clsVariables.sAnaliza != "")
{
clsFunc.citanje_Podataka(i, "tblAnalize");

CheckBox ckb = new CheckBox();
ckb.AutoSize = true;
ckb.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
ckb.Location = new System.Drawing.Point(clsVariables.sX, clsVariables.sY);
ckb.Name = "checkBox" + clsVariables.sID;
ckb.Text = clsVariables.sAnaliza;
ckb.UseVisualStyleBackColor = true;
ckb.CheckedChanged += new System.EventHandler(this.ckb_CheckedChanged);
this.Controls.Add(ckb);

ComboBox cmb = new ComboBox();
cmb.DataSource = this.tblObradaUzorkaBindingSource;
cmb.DisplayMember = "Uređaj za obradu";
cmb.FormattingEnabled = true;
cmb.Location = new System.Drawing.Point(143, 389);
cmb.Name = "cmbUredjaj" + clsVariables.sID;
cmb.Size = new System.Drawing.Size(121, 21);
cmb.ValueMember = "ID";
cmb.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.cmb_KeyPress);
this.Controls.Add(cmb);
}
}
}
}

Kako sada da Enabled ovako nastalog ComboBox-a zavisi od stanja pre njega nastalog CheckBox-a? E, to mi je problem jer oblast postojanja objekta cmb prestaje u okviru funkcije Form1_Load.
 
Odgovor na temu

marko1981
Marko Nikolic
Beograd

Član broj: 123059
Poruke: 144
*.static.sbb.rs.



Profil

icon Re: Kreiranje objekta od strane korisnika20.02.2009. u 11:35 - pre 184 meseci
Citat:

...oblast postojanja objekta cmb prestaje u okviru funkcije Form1_Load...


Da, u smislu pristupanja navodjenjem imena kontrole. Kontrola postoji sa svojim imenom, ali nemas lokalnu promenljivu u klasi forme koja se zove ckb.

Imas bar 2 nacina da ovo resis.

Prvi je da napravis u Form.cs klasi lokalnu promenljivu CheckBox ckb ...

Code:

// Form1.cs:

private ComboBox cmb = null;


... a da je u Load metodi samo inicijalizujes. Posle bi mogao da joj pristupis kao sto verovatno sad pokusavas.

Znaci, ne bi bilo:

Code:

ComboBox cmb = new ComboBox();
// ...


nego

Code:

this.cmb = new ComboBox();
// ...


Drugi je da CheckBox kontrolu ckb trazis pomocu

Code:

Controls[] controls = this.Controls.Find("ckb", true);
if (controls.Length > 0)
{
   CheckBox chkBox = controls[0];
}


Ja sam za prvo resenje.

Btw. Kad ubacujes kod u odgovor, stavi ga izmedju tagova, dosta je preglednije.

[Ovu poruku je menjao marko1981 dana 20.02.2009. u 13:49 GMT+1]
 
Odgovor na temu

bigguy
borisav ignjatov
nista
zrenjanin

Član broj: 87859
Poruke: 267
*.zrlocal.net.



+1 Profil

icon Re: Kreiranje objekta od strane korisnika20.02.2009. u 11:56 - pre 184 meseci
Ali sada i kada sam napravio lokalnu promenjivu cmb ja ne mogu njen enabled da kontrolisem.
Koristio sam [cmb.Enabled = ((CheckBox)sender).Checked ? true : false;]
 
Odgovor na temu

marko1981
Marko Nikolic
Beograd

Član broj: 123059
Poruke: 144
*.static.sbb.rs.



Profil

icon Re: Kreiranje objekta od strane korisnika20.02.2009. u 12:01 - pre 184 meseci
Moras napisati kakvu poruku dobijas.

Jel ne mozes da build-ujes kod ili ti pukne program kad naidje na ovaj red?
 
Odgovor na temu

bigguy
borisav ignjatov
nista
zrenjanin

Član broj: 87859
Poruke: 267
*.zrlocal.net.



+1 Profil

icon Re: Kreiranje objekta od strane korisnika20.02.2009. u 12:10 - pre 184 meseci
Pazi on prodje kroz kod i pogledao sam u Watch prozoru on iz toga reda dobija true kao vrednost ali se nista ne desava na formi. Sve sljaka ali bez rezultata. Da zaboravih da kazem da se taj kod nalazi unutar funkcije ckb_CheckedChanged.
 
Odgovor na temu

marko1981
Marko Nikolic
Beograd

Član broj: 123059
Poruke: 144
*.static.sbb.rs.



Profil

icon Re: Kreiranje objekta od strane korisnika20.02.2009. u 12:17 - pre 184 meseci
Tek sad sam video da ti u for petlji pravis vise kontrola, a ne samo jednu.

Ovo je za Control.ControlCollection.Find() metodu koju smo pomenuli, a za parametar postavljaj ime koje, takodje vidim, ti kreiras preko:

Code:

// ...
ckb.Name = "checkBox" + clsVariables.sID;
cmb.Name = "cmbUredjaj" + clsVariables.sID;
// ...


A ovo za lokalnu promenljivu u ovom slucaju zaboravi.


 
Odgovor na temu

marko1981
Marko Nikolic
Beograd

Član broj: 123059
Poruke: 144
*.static.sbb.rs.



Profil

icon Re: Kreiranje objekta od strane korisnika20.02.2009. u 12:22 - pre 184 meseci
Kad ti dodas kroz design neku kontrolu i ona automatski dobije ime, recimo Label1, property Name takodje postaje Label1.

Ti ovde sam postavljas Name i to iskoristi da pristupis odredjenoj kontroli u nizu kontrola.
 
Odgovor na temu

bigguy
borisav ignjatov
nista
zrenjanin

Član broj: 87859
Poruke: 267
*.zrlocal.net.



+1 Profil

icon Re: Kreiranje objekta od strane korisnika20.02.2009. u 12:29 - pre 184 meseci
Mozesli ovu metodu malo da mi pojasnis? Ne razumem kako preko nje da kontrolisem stanje cmb.enabled u zavisnosti od toga da li je ckb.Checked na true/false? Takodje, ne razumem da li bi onda to znacilo da bi takav kod trebalo ubaciti u funkciju ckb_CheckedChanged?
 
Odgovor na temu

marko1981
Marko Nikolic
Beograd

Član broj: 123059
Poruke: 144
*.static.sbb.rs.



Profil

icon Re: Kreiranje objekta od strane korisnika20.02.2009. u 12:36 - pre 184 meseci
Mozda ima neka greska posto kucam direktno ovde, ali shvatices verovatno ideju.

Code:

private void chk_CheckedChanged(object sender, EventArgs e)
{    
    CheckBox chk = (CheckBox)sender;

    string name = chk.Name;
    string id = name.Substring("checkBox".Length);

    string comboBoxName = string.Format("cmbUredjaj{0}", id);

    Controls[] cntrls = this.Controls.Find(comboBoxName, true);
    if (cntrls.Length > 0)
    {
        ((ComboBox)cntrls[0]).Enabled = chk.Checked;
    }
}


[Ovu poruku je menjao marko1981 dana 20.02.2009. u 13:49 GMT+1]
 
Odgovor na temu

bigguy
borisav ignjatov
nista
zrenjanin

Član broj: 87859
Poruke: 267
*.zrlocal.net.



+1 Profil

icon Re: Kreiranje objekta od strane korisnika20.02.2009. u 12:45 - pre 184 meseci
Ne moze da ga pokrene za uslov if prijavljuje: Operator '>' cannot be applied to operands of type 'method group' and 'int'
 
Odgovor na temu

marko1981
Marko Nikolic
Beograd

Član broj: 123059
Poruke: 144
*.static.sbb.rs.



Profil

icon Re: Kreiranje objekta od strane korisnika20.02.2009. u 12:48 - pre 184 meseci
Izvini, kucao sam direktno ovde, a ne u VS.

Nije Count, nego Length.
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Kreiranje objekta od strane korisnika

Strane: 1 2

[ Pregleda: 4431 | Odgovora: 27 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.