|
|
|
| Вот насоздавал я кучу объектов, а они не влазят в один экран, полосу прокрутки использовать не желательно. Как сделать постраничный вывод этих объектов?
Спасибо.
P.S. Пример пожалуйста на Visual C#. | |
|
|
|
|
|
|
|
для: EvgenLog
(28.02.2007 в 12:14)
| | Элементы у вас в массиве находятся? | |
|
|
|
|
|
|
|
для: cheops
(28.02.2007 в 12:51)
| | Вот так они создаются....
TotalNumCounter = 0;
AddToLocationY = 0;
while (TotalNumCounter < TotalNum)
{
SplitSubStr = SplitAllFile[TotalNumCounter].Split(new Char[] { '_' });
if (SplitSubStr[15].Trim() == ActName)
{
CorpName[TotalNumCounter] = new System.Windows.Forms.LinkLabel();
CorpName[TotalNumCounter].AutoSize = true;
CorpName[TotalNumCounter].Location = new System.Drawing.Point(10, AddToLocationY + 10);
CorpName[TotalNumCounter].Name = Convert.ToString("NewLinkLabel" + TotalNumCounter);
CorpName[TotalNumCounter].Text = (TotalNumCounter + 1) + ". " + SplitSubStr[1].Trim();
CorpName[TotalNumCounter].Parent = this.panel3;
LocationY = CorpName[TotalNumCounter].Location.Y + 20;
CorpComInform[TotalNumCounter] = new System.Windows.Forms.Label();
CorpComInform[TotalNumCounter].AutoSize = true;
CorpComInform[TotalNumCounter].Location = new System.Drawing.Point(10, LocationY);
CorpComInform[TotalNumCounter].Name = Convert.ToString("NewLabel" + TotalNumCounter);
CorpComInform[TotalNumCounter].Text = "Общая информация:";
CorpComInform[TotalNumCounter].Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
CorpComInform[TotalNumCounter].Parent = this.panel3;
.
.
.
AddToLocationY += (CorpFilInform[TotalNumCounter].Location.Y + (TotalNumCounterFil*80)) - CorpName[TotalNumCounter].Location.Y;
}
TotalNumCounter++;
}
|
| |
|
|
|
|
|
|
|
для: EvgenLog
(28.02.2007 в 14:44)
| | Используйте вместо цикла while(), цикл for(), при этом вычисляйте начало страницы по формуле
int begin = (page - 1)*pnumber; |
где page - номер страницы (начинается с 1), а pnumber - количество позиций на странице. Тогда цикл будет выглдяте следующий образом
for(int TotalNumCounter = begin; TotalNumCounter < begin + pnumber; TotalNumCounter++)
{
...
} |
при переходе на другую страницу (тут наверное разумнее прибегнуть к wizard) увеличиваете page на единицу, при возврате - уменьшайте. | |
|
|
|
|
|
|
|
для: cheops
(28.02.2007 в 22:42)
| | Спасибо, попробую разобраться. | |
|
|
|