Ejemplo n.º 1
0
        private void WriteRes() // Отображение крылатых фраз в главном окне.
        {
            Ref();
            temp.Clear();
            labels.Clear();
            respanel.Controls.Clear();

            if (n == 0) // Все фразы.
            {
                temp = plist.AllP();
            }
            else if (n == 1) // Результаты поиска по тексту.
            {
                temp = plist.Search(searchtextBox.Text, 0);
            }

            else if (n == 2) // Результат поиска по авторУ.
            {
                temp = plist.Search(searchtextBox.Text, 1);
            }

            else if (n == 3) // Результат поиска по источникам.
            {
                temp = plist.Search(searchtextBox.Text, 3);
            }

            else if (n == 4) // Результат поиска по теме.
            {
                temp = plist.Search(searchtextBox.Text, 2);
            }
            else if (n == 5)  // Результат поиска по году.
            {
                temp = plist.Search(searchtextBox.Text, 4);
            }


            int x = 0, y = 20;

            for (int i = 0; i < temp.Count; i++) // Вывод резултьтатов поиска на панель.
            {
                labels.Add(new Label());
                labels[labels.Count - 1].Text = temp[i];
                Size            size  = new Size(respanel.Width, Int32.MaxValue);
                TextFormatFlags flags = TextFormatFlags.WordBreak;
                size = TextRenderer.MeasureText(labels[labels.Count - 1].Text, labels[labels.Count - 1].Font, size, flags);
                labels[labels.Count - 1].MinimumSize = new Size(respanel.Size.Width - 20, size.Height + 20);
                if (labels.Count == 1)
                {
                    labels[labels.Count - 1].Location = new Point(x, y);
                }
                else
                {
                    y += labels[i - 1].Size.Height + 20;
                    labels[labels.Count - 1].Location = new Point(x, y);
                }
                labels[labels.Count - 1].Anchor = ((AnchorStyles)(((AnchorStyles.Top | AnchorStyles.Left) | AnchorStyles.Right)));
                respanel.Controls.Add(labels[labels.Count - 1]);
                labels[labels.Count - 1].ContextMenuStrip = contextMenuStrip;
            }
        }