Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
8
Cevap
9023
Tıklama
0
Öne Çıkarma
C# ufak bir sorun yardım lütfen !
K
16 yıl
Yüzbaşı
Konu Sahibi

merhaba ufak çaplı bir c# market pogramı yapıyordum ama bir hata mesajı çıkıyor..
öncelikle programda ürünlerin yanında checkbox lar mevcut müşteri istediği ürünü işaretleyerek şeçiyor ayrıca bu seçilenler 2.formda alışveriş sepeti olarak listbox a ekleniyor sorun şu program ilk seferde sorunsuz çalışıyor ama formu kapatıp 2.sefer açmak istediğimde;
ObjectDisposedException was unhandled
Bırakılmış bir nesneye erişilemiyor
nesne adı form2
yardım ederseniz sevinirim
kodun bir kısmı aynı olduğundan sadece bir checkbox ı yazıcam
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

Form2 alışverişsepeti = new Form2();
private void button6_Click(object sender, EventArgs e)
{

alışverişsepeti.Show();
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{


if (checkBox1.Checked == true)
{
alışverişsepeti.listBox1.Items.Add("Domates");
}
else if (checkBox1.Checked == false)
{
alışverişsepeti.listBox1.Items.Remove("Domates");
}
}




}



F
16 yıl
Yarbay

tum nesnelerini dispose ediyormusun cıkısta peki ?


Bu mesaja 1 cevap geldi.
K
16 yıl
Yüzbaşı
Konu Sahibi

ne demek istediğinizi tam olarak anlamadım programcılıkta çok fazla bilgili değilim açıklarsanız sevinirim


Bu mesaja 1 cevap geldi.
F
16 yıl
Yarbay

yarattıgın neslerini IDisposal ara yuzunu uygulayan dispose metodunu cagırarak yok etmen lazım bence dispose yaz netten bak kendin arastırıp bulman daha iyi olur yeni isen



E
16 yıl
Yüzbaşı

form2 den bir nesne türetmeyi neden genel olarak yaptın ki? hem bir formdan diğer formdaki kontrole ulaşmak istediğinde senin yazdığın gibi bir nesne türetimi olmaz.. kodunu biraz düzenledim,muhtemelen çalışacak
 
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button6_Click(object sender, EventArgs e)
{
Form2 alışverişsepeti = new Form2();

alışverişsepeti.Show();
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
Form2 alışverişsepeti = (Form2)Application.OpenForms["Form2"];

if (checkBox1.Checked == true)
{
alışverişsepeti.listBox1.Items.Add("Domates");
}
else if (checkBox1.Checked == false)
{
alışverişsepeti.listBox1.Items.Remove("Domates");
}
}




}


Bu mesaja 1 cevap geldi.
K
16 yıl
Yüzbaşı
Konu Sahibi

öncelikle yardımın için teşekkürler kodun sorunlu kısmını hallettin ancak bu seferde checkboxa tıkladığımda;
NullReferenceException
nesne başvurusu bir nesnenin örneğine ayarlanmadı hatası alıyorum

ama alışveriş sepeti formu açıkken bu sorun olmuyor kod sorunsuz çalşıyor ama benim istediğim alışveriş sepeti kapalıykende çalışması lazım kodun





< Bu mesaj bu kişi tarafından değiştirildi Kodperest -- 1 Şubat 2010; 12:35:28 >
Bu mesaja 1 cevap geldi.
E
16 yıl
Yüzbaşı

o halde eskisi gibi yap Form2 alışverişsepeti = new Form2(); yerine

Form2 alışverişsepeti = (Form2)Application.OpenForms["Form2"];
bunu yap

yani

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

Form2 alışverişsepeti = (Form2)Application.OpenForms["Form2"];
private void button6_Click(object sender, EventArgs e)
{

alışverişsepeti.Show();
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{


if (checkBox1.Checked == true)
{
alışverişsepeti.listBox1.Items.Add("Domates");
}
else if (checkBox1.Checked == false)
{
alışverişsepeti.listBox1.Items.Remove("Domates");
}
}




}




şeklinde bi dene bakalım.. proje elimde olsa yaparım da böyle uzaktan tahmin edemiyorsun hataları


Bu mesaja 1 cevap geldi.
K
16 yıl
Yüzbaşı
Konu Sahibi

bir arkadaşımın yardıyla kodu şu şekilde yaparak hallettik yardımlar için teşekkürler
  public partial class Form1 : Form 
{
public Form1()
{
InitializeComponent();
}

private void button6_Click(object sender, EventArgs e)
{
Form2 alışverişsepeti = new Form2();
if (checkBox1.Checked == true)
{
alışverişsepeti.listBox1.Items.Add("Domates");
}
else if (checkBox1.Checked == false)
{
alışverişsepeti.listBox1.Items.Remove("Domates");
}
alışverişsepeti.Show();
}





}


Bu mesaja 1 cevap geldi.
C
15 yıl
Onbaşı

Çözümünü bulduğunuz bir sorunun tam açıklamasını yazarsanız aynı sorunla karşılaşan arkadaşlar daha rahat çözüm bulabilirler.

Form2 alışverişsepeti = new Form2();
yöntemiyle çağırdığınız Form2'nin "listBox1" nesnesini diğer bir formdan kullanabilmek için:
Form2.Designer.cs dosyasını açıp, listBox1 'in başındaki private deyimini public yapmanız gerekir.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.