Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > создать на форме 100 кнопок


Автор: Sniper_super 15.10.2008, 13:04
Всем здрасте!

Подскажите как создать программно на форме 100 кнопок?

Автор: UserNet 15.10.2008, 13:41
Этот вопрос надо будет в FAQ скоро вынести.
Всё достаточно просто. 

Код



    System.Windows.Forms.Button[] buttons=new  System.Windows.Forms.Button[100];
    
            
            for (int i = 0; i < 100; i++)
                    {
                        buttons[i] = new System.Windows.Forms.Button();
                        buttons[i].Left = 100;
                        buttons[i].Top = 25*i;
                        this.Controls.Add(buttons[0]);
           
                   }


Автор: elbjarn 15.10.2008, 13:54
Цитата(UserNet @ 15.10.2008,  13:41)
Этот вопрос надо будет в FAQ скоро вынести.
Всё достаточно просто. 

Код



    System.Windows.Forms.Button[] buttons=new  System.Windows.Forms.Button[100];
    
            
            for (int i = 0; i < 100; i++)
                    {
                        buttons[i] = new System.Windows.Forms.Button();
                        buttons[i].Left = 100;
                        buttons[i].Top = 25*i;
                        this.Controls.Add(buttons[0]);
           
                   }


вы хотели сказать
Код



    System.Windows.Forms.Button[] buttons=new  System.Windows.Forms.Button[100];
    
            
            for (int i = 0; i < 100; i++)
                    {
                        buttons[i] = new System.Windows.Forms.Button();
                        buttons[i].Left = 100;
                        buttons[i].Top = 25*i;
                        this.Controls.Add(buttons[i]);
           
                   }



smile

Автор: Sniper_super 15.10.2008, 13:57
UserNet,  сделал так компилируется нормально но на форме ничего не видно, как их можно увидеть

Добавлено через 51 секунду
Цитата

вы хотели сказать


Естественно так просто наверное ошибся при наборе

Автор: elbjarn 15.10.2008, 14:01
Цитата(Sniper_super @  15.10.2008,  13:57 Найти цитируемый пост)
UserNet,  сделал так компилируется нормально но на форме ничего не видно, как их можно увидеть

Visible свойство поставьте в True, оно по умолчанию в False.

Автор: Sniper_super 15.10.2008, 14:05
Цитата

Visible свойство поставьте в True, оно по умолчанию в False.


Та это я пробивал - ничего не помогло

Автор: elbjarn 15.10.2008, 14:17
хм. у меня этот код работает. проверьте, не закрываются ли эти кнопки другими контролами. панелькой какой-нибудь или еще чем.

Добавлено через 40 секунд
и вообще проверьте, что вы вызываете функцию, в которой написан этот код.

Автор: UserNet 15.10.2008, 14:40
Очепятка. Покажи весь код.

Автор: Sniper_super 15.10.2008, 15:26
Цитата

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


Спасибо! Во я бар.. . Я ж поставил панельку на всю форму и жду  smile 

И сразу следующий вопрос а как обработать собитие OnClick на эти кнопки

Автор: elbjarn 15.10.2008, 15:32
Цитата(Sniper_super @  15.10.2008,  15:26 Найти цитируемый пост)
И сразу следующий вопрос а как обработать собитие OnClick на эти кнопки 

Код

buttons[i].Click += btnClick;


Код

protected void btnClick(object sender, EventArgs e)
        {
          // обработка нажатия на кнопку
        }

Автор: Sniper_super 15.10.2008, 16:44
ВСЕМ БОЛЬШОЕ СПАСИБО!

Автор: mihryak 15.10.2008, 20:54
 smile всегда, когда вижу такие топики, мне не даёт покоя вопрос - ЗАЧЕМ???

Автор: Partizan 15.10.2008, 21:27
mihryak, ну как...неужели сам никогда не игрался с динамическим созданием контролов? )

Автор: Antarn 16.10.2008, 13:44
elbjarn, а почему
Код

buttons[i].Click += btnClick;

а не
Код

buttons[i].Click += new System.EventHandler(btnClick);

?

В чем отличие ?

Автор: QryStaL 16.10.2008, 15:56
Antarn, синтаксический сахар.

Автор: Sniper_super 17.10.2008, 10:45
Antarn,  оно и так и так верно

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