sadmoh Ответов: 2

Динамические кнопки доза не появляются нормально


Я создаю форму, которая отображает кнопку Создать динамически в ней, во время выполнения кнопка не появляется нормально, она не показывает текст в ней, и это задний цвет

Что я уже пробовал:

мой код:
Button b = new Button();
                   
                    b.Size = new Size(77, 30);
                    b.BackColor =  Color.Red;
                    b.ForeColor = Color.White;


                   
                    b.Location = new Point(1470, 140 );
                  
                    b.Name = "button1";
                    b.Text = "Save";
                    
                    b.Click += new EventHandler(button_Click);
                    
                    Controls.Add(b);

and for event handler 
             protected void button_Click(object sender, EventArgs e)
        {
            Button button = sender as Button;
           //-------- do something here ////////
         
        }

OriginalGriff

Покажите нам фрагмент кода, который вы использовали для создания кнопки - мы ничего не можем сделать без этого!
Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

Richard MacCutchan

b.Location = new Point(1470, 140 );
Вы уверены, что это место находится в пределах вашей формы?

RickZeeland

Ничего плохого в вашем коде нет, я попробовал его, и он работает, может быть, вам стоит повторить попытку с новым проектом Winforms. Также убедитесь, что у вас нет никаких кнопок на форме с таким же именем ...

2 Ответов

Рейтинг:
5

Aydin Homay

Привет,

Похоже, что локация не вписывается на экране или скрыта другим элементом управления прямо на этом месте, или проект не был построен чисто (без ошибок). Я бы выполнил следующие шаги, чтобы решить эту проблему:

1 - поставьте точку останова и проследите код за формой шаг за шагом и убедитесь, что он работает без каких-либо ошибок или исключений
2 - Измените местоположение на 0,0, чтобы убедиться, что на дисплее достаточно места для отображения кнопки, а затем переставьте местоположение в соответствии с вашим собственным желанием
3 - убедитесь, что элемент управления не находится под другим элементом управления, есть несколько способов проверить это, один-удалить все остальные элементы управления, другой - использовать BringToFront метод.

Овации,
Айдын


Рейтинг:
20

OriginalGriff

Когда я пробую ваш код, я получаю красную кнопку с белым текстом "сохранить" далеко справа от моей формы.

Именно этого я и ожидал.
Я бы посоветовал вам начать с использования отладчика, чтобы убедиться, что код выполняется правильно, и если кнопка все еще не видна или правильна, измените местоположение на 0,0, чтобы убедиться, что она находится внутри формы и, вероятно, не покрыта каким-либо другим элементом управления. (При необходимости переместите элементы управления в конструкторе, чтобы сначала убедиться, что верхний левый угол формы пуст.)

Но помимо большого значения местоположения X, код, по-видимому, отлично работает здесь.