VB se snaží před námi skrývat kód, který bychom neměli vidět. Když se podíváte do složky projektu průzkumníkem, uvidíte tam soubory Form1.vb a Form1.Designer.vb. Tyto dva soubory patří k sobě, ale VB.NET nám ukáže a dovolí editovat většinou jen ten první. Když se podíváte do toho druhého, který generuje VB podle toho, jak si naklikáte formulář, najdete v něm deklaraci Dim TextBox1 As TextBox a pak tam ještě v proceduře InitializeComponent najdete kód, který TextBox inicializuje a nastaví mu potřebné vlastnosti, aby byl tam, kde jej chceme. Tato procedura se ale spouští až poté, co VB vyřeší všechny úvodní deklarace, takže do proměnné veta přiřazujete hodnotu TextBox1.Text, přičemž TextBox1 ještě není zinicializován a obsahuje hodnotu Nothing. Mimochodem nechápu, co vaše deklarace dělá na tomto místě, měla by být v proceduře, i kdyby tohle bylo nevyhazovalo výjimku, v době spouštění formuláře je stejně TextBox prázdný. Do proměnné přiřazujte až ve chvíli, kdy je v TextBoxu požadovaná hodnota.
|