Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > очистка textbox по нажатию кнопки (button)


Автор: Andrej23 30.5.2015, 07:27
Доброго времени суток.

Вопрос вот в чем:

в Form1 на TabControl в табпейдж z_reestr вручную вбиты textbox и button
Код

            Button btn1 = new Button(); this.z_reestr.Controls.Add(btn1); //не к табконтрол, а к табпейдж
            btn1.Location = new Point(x1, 10); btn1.Size = new Size(120, 50);
            btn1.Text = "Новая накладная"; btnCreateNakl.Show();
            btn1.Click += new System.EventHandler(btn1_Click);

            TextBox txb1 = new TextBox(); this.z_reestr.Controls.Add(txb1);
            txb1.Location = new Point(x1, y1+h2); txb1.Size = new Size(w1, h1);
}

и обработчик нажатия кнопки
Код

        private void btn1_Click(object sender, EventArgs e) //нажатие кнопки.
        {
            //Нужно сделать чтобы очистился текст в текстбоксе.
            (Controls["txb1"] as TextBox).Text = "проверка";  - программа пишет ошибку

            txb1.Clear; //программа говорит что txb нет в этом контексте
        }

Вот и вопрос: а как тогда работать с текстбоксом?

Автор: Andrej23 30.5.2015, 11:51
попробовал в btn1_Click обратиться к текстбоксу txb1 как к контролу из табконтрол "z" табпейдж "z_reestr"

(z_reestr.Controls["txb1"] as TextBox).Text = "123";

C# пишет что: 

Необработанное исключение типа "System.NullReferenceException" в 1.exe
Дополнительные сведения: Ссылка на объект не указывает на экземпляр объекта.

в чем может быть дело?

Автор: Andrej23 30.5.2015, 12:11
решил. пришлось сделать txb1 глобальным и объявить перед Form1

Код

TextBox txb1;

public Form1
{

}


криво конечно, но проблема решена.

Автор: diadiavova 30.5.2015, 20:21
Цитата(Andrej23 @  30.5.2015,  11:51 Найти цитируемый пост)
(z_reestr.Controls["txb1"] as TextBox).Text = "123";

Это сработает, если при создании ты задашь имя своему техстбоксу, по которому ты его ищешь.
Код

TextBox txb1 = new TextBox() {Name = "txb1"};

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)