Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# Windows Forms

Войти
Регистрация
Восстановить пароль
 
Asantasan
1 / 1 / 0
Регистрация: 22.02.2013
Сообщений: 26
#1

DrawLine в Panel - C#

14.04.2013, 19:42. Просмотров 627. Ответов 3
Метки нет (Все метки)

Здравствуйте. Необходимо вывести в Panel много строк, пусть даже с числами. У меня вроде получилось, но при попытке проскролить старшую панельку все надписи стираются. Подскажите пожалуйста как это исправить.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private Panel panel_2 = new Panel();
 
        private void Form1_Load(object sender, EventArgs e)
        {
            panel1.Controls.Add(panel_2);
            
        }
        protected override void OnPaint(PaintEventArgs e)
        {
 
            panel_2.BorderStyle = BorderStyle.FixedSingle;
            panel_2.BackColor = Color.Pink;
            panel_2.AutoScroll = true;
            panel_2.VerticalScroll.Enabled = true;
 
            panel_2.Size = new Size(150, 15000/7);  
            panel_2.Location = new Point(100, Convert.ToInt32((1)));
            Font drawFont = new Font(FontFamily.GenericSansSerif, 10, FontStyle.Regular); // определим шрифт
            SolidBrush drawBrush = new SolidBrush(Color.Black); // определим кисть
           
             Graphics g = Graphics.FromHwnd(panel_2.Handle);
            
            
            SolidBrush blueBrush = new SolidBrush(Color.Blue);
 
           
            var pt = new Point(5, 5);
            for (int i = 0, j = 200; j >= (0); i += 1, j -= 1) 
            {
 
                String drawString = j.ToString() + " " + i; 
                 g.DrawString(drawString, drawFont, drawBrush, pt);
               
                pt.Y += (int)panel_2.Font.GetHeight() + 3;
          base.OnPaint(e);
            }
     
       }
 
         
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2013, 19:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос DrawLine в Panel (C#):

Panel+picturebox+drawline - C#
Здравствуйте. Помогите с такой проблемой: Пытаюсь на picturebox отрисовать линию и потом добавить picturebox на панель. Но ничего не...

На родительской форме расположена panel, при открытие дочерней формы, она прячется под panel - C#
Как сделать, чтобы она была сверху?

Очистка текстбоксов и проверка их же на пустоту Panel в Panel - C#
Добрый день! Есть панель Pan_F в ней текстбокс Tb_3 и панель Pan_FxFF в которой 2 текстбокса Tb_1 и Tb_2 вопрос: очищаю все...

.NET 4.x Странное наложение Panel/Panel/PictureBox - C#
На одной панели (белая область вокруг шахматной доски), расположена другая панель (сама шахматная доска), назовём их БПанель и МПанель...

Динамическое создание panel в panel - C#
Доброго времени суток. Задача: нужно в панели вывести еще одну панель при нажатой радио кнопке. Первая панель создается с нужными...

Graphics.DrawLine - C#
Использовал и портировал пример с этой ссылки http://stackoverflow.com/questions/10768570/graphic-drawline-draw-line-and-move-it Все...

3
Asantasan
1 / 1 / 0
Регистрация: 22.02.2013
Сообщений: 26
16.04.2013, 08:31  [ТС] #2
Тема все еще актуальна.
0
BeBrave
-248 / 28 / 1
Регистрация: 04.04.2013
Сообщений: 282
16.04.2013, 14:06 #3
дак перерисуй еще раз. проблема из пальца высасана - если стираются при скролинге - повесь на события скрола прорисовку и вуаля: пусть хоть обстирается
1
Asantasan
1 / 1 / 0
Регистрация: 22.02.2013
Сообщений: 26
17.04.2013, 19:30  [ТС] #4
Сделал вот так:
C#
1
2
3
4
5
 private void panel1_Scroll(object sender, ScrollEventArgs e)
        {
           
              this.Invalidate(); 
        }
Не помогло.

Добавлено через 23 часа 45 минут
Проблема не решена до сих пор. Кто-нибудь может помочь?
0
17.04.2013, 19:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2013, 19:30
Привет! Вот еще темы с ответами:

Построить параллелепипед с использованием DrawLine - C#
Помогите построить вот такой квадрат через DraweLine. Заранее благодарен.

Нарисовать графический рисунок, используя DrawLine и DrawCurve в pictureBox - C#
Здравствуйте, я решила нарисовать графический рисунок используя DrawLine и DrawCurve в pictureBox. Graphics g =...

Реализовать класс "Квадрат" с рисованием через DrawLine - C#
Ребят, нужна помощь! Необходимо создать класс, который будет, при нажатии на кнопку, рисовать квадрат, с помошью DrawLine.

panel autosize c# - C#
подскажите пожалуйста как сделать так чтоб размер панель изменялся автоматически. в зависимости от того что там нарисовано. спасибо


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru