Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамическое создание объекта 
:(
    Опции темы
Franz1981
Дата 15.10.2008, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 8.10.2008

Репутация: нет
Всего: нет



Необходимо по клику на форме создавать новый Label. Не подскажите как? Лэйблов сколько угодно много, и как к ним затем обращаться?
PM MAIL   Вверх
Partizan
Дата 15.10.2008, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



Franz1981, 

Код

Label[] labels = new Label[100];
for (int i = 0; i < 100; i++)
{
    labels[i] = new Label();
    labels[i].Text = "Label " + i.ToString();
    this.Controls.Add(labels[i]);
}



--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Franz1981
Дата 15.10.2008, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 8.10.2008

Репутация: нет
Всего: нет



спасибо огромное!!
PM MAIL   Вверх
Franz1981
Дата 15.10.2008, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 8.10.2008

Репутация: нет
Всего: нет



а вот ещё возник вопрос: я чтото неправильно делаю с координатами? объекты появлеются со мещением гдето в 70-90 пикселей

Код

            labels[i].Width = 30;
            labels[i].Height = 15;
            labels[i].Left = Cursor.Position.X;
            labels[i].Top = Cursor.Position.Y;            
            this.Controls.Add(labels[i]);

PM MAIL   Вверх
Partizan
Дата 15.10.2008, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



Franz1981, ответный вопрос: какое расположение вы хотите получить?


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Franz1981
Дата 15.10.2008, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 8.10.2008

Репутация: нет
Всего: нет



где кликнул - там и создать)
PM MAIL   Вверх
Partizan
Дата 15.10.2008, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



Цитата

Cursor.Position
A Point that represents the cursor's position in screen coordinates.


В то время как позиция курсора определена в координатах экрана, Top и Left выставляются в координатах окна


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Franz1981
Дата 15.10.2008, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 8.10.2008

Репутация: нет
Всего: нет



хм... следовательно вопрос: откуда взять координаты курсора в координатах окна?
PM MAIL   Вверх
Partizan
Дата 15.10.2008, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



Franz1981, поюзать метод PointToClient


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Franz1981
Дата 15.10.2008, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 8.10.2008

Репутация: нет
Всего: нет



действительно) спасибо!
PM MAIL   Вверх
Franz1981
Дата 15.10.2008, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 8.10.2008

Репутация: нет
Всего: нет



хм.. как бы нижеследующий вопрос не имеет отношения к названию, но всё же)

Вот имеется новый лейбл labels[x] и есть функция Function().  Как сделать так чтобы но двойному щелчку на лейбл вызывалась функция Function? Понятно что необходимо определить это до  
  
Код

 this.Controls.Add(labels[x]);

что-то типа 

Код

labels[i].MouseDoubleClick()= Function();


понимаю что мыслю совершенно неверно, но вопрос интересный=)
PM MAIL   Вверх
Smartless
Дата 15.10.2008, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 1.8.2008

Репутация: нет
Всего: нет



а это функшен твоя должна быть одинакавая для всех?
можна какнить вроде этого
Код

class My_label : Label    //клас наследуем от лейбала
    {
        protected override void OnDoubleClick(EventArgs e) // перегружаем метот даблклика
        {
            base.OnDoubleClick(e);
             .
             .
            функшентвой тут описать можна
             .
             .
        }
    }

патом создаеш динамична сваи лейблы и она даблкличаца)
но наверняка есть более умное решение твоей задачи)

Это сообщение отредактировал(а) Smartless - 15.10.2008, 19:57
PM MAIL   Вверх
Partizan
Дата 15.10.2008, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



Smartless, думаю тут можно и обычным обработчиком обойтись без всяких наследований...

з.ы.Franz1981, 1 тема - 1 вопрос smile 


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Franz1981
Дата 16.10.2008, 06:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 8.10.2008

Репутация: нет
Всего: нет



спасибо! были мысли насчёт наследования)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1286 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.