2015-06-08 2 views
1

Я пытаюсь добавить ярлык во время выполнения, когда вы нажимаете кнопку, это мой код, но когда вы нажимаете кнопку, он просто добавляет новую метку в новую позицию, а ярлык вы сделанный до этого щелчком, эта кнопка не показывает , и я хочу показать все из них по одному после нажатия кнопки , как я могу ее исправить?Создать элемент управления кнопкой click во время выполнения в C#

Label lbl; 
int number; 
int locationX = 2; 
int locationY = 4; 

public void CreateRuntimeControl(PictureBox pic) 
{ 
    lbl; = new Label(); 
    number++; 
    locationX++; 
    locationY++; 
    lbl.Name = "lbl" + number.ToString(); 
    lbl.Size = new System.Drawing.Size(100, 50); 
    lbl.Location = new System.Drawing.Point(10 + locationX, 10 + locationY); 
    lbl.Text = number.ToString(); 
    lbl.BackColor = Color.Gray; 
    pic.Controls.Add(lbl); 
} 

С наилучшими пожеланиями

+0

Вы устанавливаете свои координаты x и y для каждого ярлыка 1 пиксель, поэтому они находятся друг над другом. Попробуйте LocationY + = 50; –

ответ

0

******** ************************************************** ************************************************** ** я нашел свой ответ, и я хочу поставить его здесь, чтобы если кто-то моя проблема найти эту страницу и устранить проблему


 int number; 
    int locationX; 
    int locationY; 

    public void CreateRuntimeControl(PictureBox pic) 
    { 
     Label lbl = new Label(); 
     number++; 
     locationX++; 
     locationY = locationY + 100; 
     lbl.Name = "lbl" + number.ToString(); 
     lbl.Size = new System.Drawing.Size(100, 50); 
     lbl.Location = new System.Drawing.Point(10 + locationX, 10 + locationY); 
     lbl.Text = number.ToString(); 
     lbl.BackColor = Color.Gray; 
     pic.Controls.Add(lbl); 
    } 

С наилучшими пожеланиями

0

Вы должны переместить LBL = новый ярлык(); заявление в теле функции CreateRuntimeControl(), в противном случае вы повторно используете один и тот же ярлык и просто перемещая его вместо того, чтобы создать новый один

+0

он сделал несколько ярлыков, но теперь переместил код, не отображая новый текст ярлыка (он просто показывает первый текст), и между ярлыками нет пробела, что мне делать? – Salmani

+0

Вы добавляете несколько таблиц в элемент управления PictureBox? PictureBox предназначен для отображения изображений, а не для отображения многих текстовых меток. Может быть, вы должны создать отдельную панель и добавить свои метки к ней –

+0

, но я хочу добавить несколько ярлыков на фотошоп, что мне делать? – Salmani

0

Try:

int number; 
int locationX = 2; 
int locationY = 4; 

public void CreateRuntimeControl(PictureBox pic) 
{ 
    Label lbl = new Label(); 
    number++; 
    locationX++; 
    locationY++; 
    lbl.Name = "lbl" + number.ToString(); 
    lbl.Size = new System.Drawing.Size(100, 50); 
    lbl.Location = new System.Drawing.Point(10 + locationX, 10 + locationY); 
    lbl.Text = number.ToString(); 
    lbl.BackColor = Color.Gray; 
    pic.Controls.Add(lbl); 
} 
+0

он сделал некоторые метки, но теперь после переместить код, не отображая новый текст ярлыка (он просто показывает первый текст), и между ярлыками нет места, что мне делать? – Salmani

+0

вы положили 'lbl' в' CreateRuntimeControl? 'Свойство моего значения' lbl' не его конструктора ... –

Смежные вопросы