Problém s ListBoxem   otázka

VB.NET

Chci do Listboxu přidat nějaké položky. Napíšu:

ListBox1.Items.Add(a), přičemž a je text z textboxu.

Po spuštění to vypíše chybu:

{"Odkaz na objekt není nastaven na instanci objektu."}

Co to znamená a co s tím mám dělat.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Neviem aký máte problém lebo mne to funguje bez problému s tímto kódom :

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        ListBox1.Items.Add(TextBox1.Text)

    End Sub

End Class

Skúste sem nakopírovať celý vaš kód :)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Mám to stejně, ale místo formuláře používám dialog:

    Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
        ListBox1.Items.Add(TextBox1.Text)
    End Sub
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Mne to funguje aj na Formulári aj na Dialógu.

Ak vám to stále nejde bude asi chyba u Vás.

Možno použiváte neplatné znaky , ja som skúšal A-Z , 0-9 a funguje všetko aj na českej klavesnici s písmenami ř a podobne.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zkoušel jsem to i se znaky bez háčků a čárek. Ale nepomohlo to.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nemohli by ste spraviť screenshoty prosím ? A uploadnut ich napriklad na sendspace.com :)

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Tak tady to je:

http://img232.imageshack.us/gal.php?g=sc...

První screen je formulář s listobxem, druhý je tvorba dialogu, třetí je přidání položky, čtvrtý je dialog.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jen takový dotaz, ten Textbox1 máte ve stejném formu jako Listbox?

řekl bych, že ne.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

ne

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zkuste sem dát celý kód, hlavně to jak voláte ten dialog. Jenom pro upřesnění, ten textBox je v dialogovém okně a listBox na hlavním formuláři?

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

ten textBox je v dialogovém okně a listBox na hlavním formuláři?

Ano

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Takže jestli jsem to dobře pochopil podle těch screenů, tak tlačítko Button1 je na hlavním formuláři a otevírá se s ním dialog a tlačítko OK_button je na tom dialogu a potvrzuje se zavření.

Znamená to tedy, že z události tlačítka na dialogu se snažíte zapisovat do nějakého objekt na jiném formu což je principielně špatně. Takhle bych to určitě neřešil, protože to Vám v budoucnu znemožní stejný form použít na jiném místě. A hlavně, Vy si kódem sice vytvoříte novou instanci dialogu (Dim dlg As New Dialog1) ale pak ji stejně neotevřete, místo toho otevíráte ten původní "vzor" podle kterého byl dialog vytvořen. Kdyby tam ten řádek kde instanci dialogu vytváříte nebyl, tak se vůbec nic nestane. Já bych to řešil následovně:

-Tlačítku ok v dialogu nastavte dialog result na ok a na formuláři dialogu ho ve vlastnostech nastavte jako accept button. Obsluhu jeho události vymažte, nebude potřeba

-Do události tlačítka, kterým otevíráte ten dialog přidejte i kód, kterým z textboxu přidáte položku do listboxu.

Něják takto:

Private Sub Button1_Click(Byval Sender As System.Object,Byval e As System.EventArgs) Handles Button1.Click

   Dim dlg As Dialog1=New Dialog1
   dlg.ShowDialog 'otevřít právě vytvořenou instanci dialogu

   'zkontroluju zda bylo stisknuto OK, pokud ano zapíšu text do listboxu
   If dlg.DialogResult = Windows.Forms.DialogResult.OK Then
      Me.Listbox1.Items.Add(dlg.Textbox1.Text)
   End if

End Sub

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zdá se, že ListBox není deklarován...

Dim ListBox1 As New ListBox()

nahlásit spamnahlásit spam 0 odpovědětodpovědět

trosku vedla ... problem je vtom ,ze v Dialogu nema deklarovanu Form1 ako Friend. Teda tam nemoze dialog zapisovat :)

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Jak se to nastavuje?

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback