|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.02.2012, 10:38 | #1 |
Новичок
Джуниор
Регистрация: 21.02.2012
Сообщений: 2
|
Привязка Контрола к контролу в массиве
private void Form1_Load(object sender, EventArgs e)
{ int Index_I, Border=10; DataGrid[] ListProducts = new DataGrid[4]; Panel[] SnookerTable = new Panel[4]; for (Index_I = 0; Index_I < 3; Index_I++) { SnookerTable[Index_I] = new Panel(); Controls.Add(SnookerTable[Index_I]); if (Index_I == 0 || ((Index_I) % 4 == 1 && Index_I >= 3)) SnookerTable[Index_I].Location = new Point(Border, Border); else if (Index_I == 1 || ((Index_I + 1) % 4 == 2 && Index_I >= 3)) SnookerTable[Index_I].Location = new Point(Width / 2, Border); else if (Index_I == 2 || ((Index_I + 1) % 4 == 3 && Index_I >= 3)) SnookerTable[Index_I].Location = new Point(Border, Height / 2 - Border); else if (Index_I == 3 || ((Index_I + 1) % 4 == 0 && Index_I >= 3)) SnookerTable[Index_I].Location = new Point(idth/2, Height/2-Border); ListProducts[Index_I] = new DataGrid(); SnookerTable[Index_I].BorderStyle = BorderStyle.Fixed3D; ListProducts[Index_I].BorderStyle = BorderStyle.Fixed3D; SnookerTable[Index_I].Size = new Size(Width/2-(Border*2), Height/2-(Border*3)); ListProducts[Index_I].Size = new Size(SnookerTable[Index_I].Width - 110, SnookerTable[Index_I].Height - Border * 5); ListProducts[Index_I].Location = new Point(SnookerTable[Index_I].Left - Border / 2, SnookerTable[Index_I].Top + Border * 3); SnookerTable[Index_I].Controls.Add(ListProducts[Index_I]); } } Имеется такой фрагмент кода, который кладется в загрузку главной формы. Смысл кода Динамично создать 4 элемента Панели и к каждой панели привязать динамично таблицу Вроде все работает за исключением того что рисуется только первая таблица а все последующие как будто их нет, хотя в дебаге проверяю все значения присваиваются так как надо Однако попробовал убрать следующую строчку кода: ListProducts[Index_I].Location = new Point(SnookerTable[Index_I].Left - Border / 2, SnookerTable[Index_I].Top + Border * 3); вроде после убирания этой строчки начинает чертить все таблицы но по краю панели имеется ввиду то что край таблицы визуально находится на краю панели то есть Panel(left,Top)=DataGrid(left, top) а мне надо разместить DataGrid приблизом в середине Panel Вобщем помогите кто если чем может сижу мучаюсь 3-ий день |
21.02.2012, 10:47 | #2 |
Форумчанин
Регистрация: 15.12.2010
Сообщений: 398
|
Без кода врятли кто то будет понимать код в котором 50% переменных не известны плюс трубночитаем а так же без тега CODE
|
21.02.2012, 10:50 | #3 |
Новичок
Джуниор
Регистрация: 21.02.2012
Сообщений: 2
|
этот код как он есть так его и запихать в форм лоад и будет работать
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Передача данных ActiveX-контролу | Вера Дзюба | Помощь студентам | 0 | 12.02.2012 17:05 |
XNA: Рисование маслом по контролу | ds.Dante | C# (си шарп) | 7 | 28.06.2011 15:03 |
Как обратиться к контролу на листе? | Maryver | Microsoft Office Excel | 1 | 22.04.2011 18:47 |
Текст из Edit контрола | jungle | Win Api | 2 | 27.10.2009 19:22 |
Добавление контрола на форму | ЯИмя | Microsoft Office Excel | 1 | 08.07.2009 15:58 |