Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
1 / 1 / 1
Регистрация: 06.10.2013
Сообщений: 79

Простейший бесконечный график с прокруткой

13.01.2014, 02:33. Показов 3899. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо читать данные из файла , и выводить в окно.
К примеру: имеем 1 байтовые числа. мы их выводим из шагом в 3 пикселя по y - ку . А по иксу будет значение полученное из файла. Как сделать прокрутку при помощи ползунка? И как упростить такой участок кода?

читаем из файла:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void Button1Click(object sender, EventArgs e)
        {
          
 
           StreamReader reader = new StreamReader("Data_table.mass");
           string[] mass = reader.ReadLine().Split('*');
           //string[] mass1 = reader.ReadLine().Split('*');
 
           for (x = 0; x < 90; x++)
           {
               data_graf_x[x] = Convert.ToInt16(mass[x]);
               
           }
 
           for (x = 0; x < 90; x++)
           {
               data_graf_y[x] = Convert.ToInt16(mass[x+89]);
 
           }
 
           reader.Close();
           pictureBox1.Refresh();
        }


собственно вывод графика:
Кликните здесь для просмотра всего текста
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
private void pictureBox1_Paint(object sender, PaintEventArgs e)
         {
           //Перегруженый метод Paint
 
            //Если нужно будет работать с графиксом в других методах (рисовать на нем в других методах)
            //сделайте его глобальным
            //Graphics gr = this.CreateGraphics();//Создаем объект графикс из окна
 
             Graphics gr = e.Graphics;
            int w = this.ClientSize.Width;//размеры клиентской области
            int h = this.ClientSize.Height;//размеры клиентской области
            
            int widthLines = 20;//Ширина клетки
            int heightLines = 20;//Высота клетки
            for(int i = 0; i < w; i += widthLines)
            {
                //Вертикальные линии
                gr.DrawLine(new Pen(Brushes.Blue), new Point(i + widthLines, 0), new Point(i + widthLines, h));
                //Горизонтальные линии
                gr.DrawLine(new Pen(Brushes.Blue), new Point(0, i + heightLines), new Point(w, i + heightLines));
            }
      
          
           //Graphics gr = e.Graphics;
 
            graf_func();
             
            Pen p = new Pen(Color.Red, 3);// цвет линии и ширина
 
            Point p1 = new Point(10, data_graf_x[0]);// первая точка
            Point p2 = new Point(20, data_graf_x[1]);// вторая точка  1-y 2-x 1
            Point p3 = new Point(30, data_graf_x[2]);// вторая точка  1-y 2-x 2
            Point p4 = new Point(40, data_graf_x[3]);// вторая точка  1-y 2-x 3
            Point p5 = new Point(50, data_graf_x[4]);// вторая точка  1-y 2-x
            Point p6 = new Point(60, data_graf_x[5]);// вторая точка  1-y 2-x
            Point p7 = new Point(70, data_graf_x[6]);// вторая точка  1-y 2-x
            Point p8 = new Point(80, data_graf_x[7]);// вторая точка  1-y 2-x
            Point p9 = new Point(90, data_graf_x[8]);// вторая точка  1-y 2-x
            Point p10 = new Point(100, data_graf_x[9]);// вторая точка  1-y 2-x
            Point p11 = new Point(110, data_graf_x[10]);// вторая точка  1-y 2-x
            Point p12 = new Point(120, data_graf_x[11]);// вторая точка  1-y 2-x
            Point p13 = new Point(130, data_graf_x[12]);// вторая точка  1-y 2-x
            Point p14 = new Point(140, data_graf_x[13]);// вторая точка  1-y 2-x
            Point p15 = new Point(150, data_graf_x[14]);// вторая точка  1-y 2-x
            Point p16 = new Point(160, data_graf_x[15]);// вторая точка  1-y 2-x
            Point p17 = new Point(170, data_graf_x[16]);// вторая точка  1-y 2-x
            Point p18 = new Point(180, data_graf_x[17]);// вторая точка  1-y 2-x
            Point p19 = new Point(190, data_graf_x[18]);// вторая точка  1-y 2-x
            Point p20 = new Point(200, data_graf_x[19]);// вторая точка  1-y 2-x
            Point p21 = new Point(210, data_graf_x[20]);// вторая точка  1-y 2-x
            Point p22 = new Point(220, data_graf_x[21]);// первая точка
            Point p23 = new Point(230, data_graf_x[22]);// вторая точка  1-y 2-x 1
            Point p24 = new Point(240, data_graf_x[23]);// вторая точка  1-y 2-x 2
            Point p25 = new Point(250, data_graf_x[24]);// вторая точка  1-y 2-x 3
            Point p26 = new Point(260, data_graf_x[25]);// вторая точка  1-y 2-x
            Point p27 = new Point(270, data_graf_x[26]);// вторая точка  1-y 2-x
            Point p28 = new Point(280, data_graf_x[27]);// вторая точка  1-y 2-x
            Point p29 = new Point(290, data_graf_x[28]);// вторая точка  1-y 2-x
            Point p30 = new Point(300, data_graf_x[29]);// вторая точка  1-y 2-x
 
            Point p31 = new Point(310, data_graf_x[30]);// вторая точка  1-y 2-x
            Point p32 = new Point(320, data_graf_x[31]);// вторая точка  1-y 2-x
            Point p33 = new Point(330, data_graf_x[32]);// вторая точка  1-y 2-x
            Point p34 = new Point(340, data_graf_x[33]);// вторая точка  1-y 2-x
            Point p35 = new Point(350, data_graf_x[34]);// вторая точка  1-y 2-x
            Point p36 = new Point(360, data_graf_x[35]);// вторая точка  1-y 2-x
            Point p37 = new Point(370, data_graf_x[36]);// вторая точка  1-y 2-x
            Point p38 = new Point(380, data_graf_x[37]);// вторая точка  1-y 2-x
            Point p39 = new Point(390, data_graf_x[38]);// вторая точка  1-y 2-x
            Point p40 = new Point(400, data_graf_x[39]);// вторая точка  1-y 2-x
            Point p41 = new Point(410, data_graf_x[40]);// вторая точка  1-y 2-x
            Point p42 = new Point(420, data_graf_x[41]);// вторая точка  1-y 2-x
            Point p43 = new Point(430, data_graf_x[42]);// первая точка
            Point p44 = new Point(440, data_graf_x[43]);// вторая точка  1-y 2-x 1
            Point p45 = new Point(450, data_graf_x[44]);// вторая точка  1-y 2-x 2
            Point p46 = new Point(460, data_graf_x[45]);// вторая точка  1-y 2-x 3
            Point p47 = new Point(470, data_graf_x[46]);// вторая точка  1-y 2-x
            Point p48 = new Point(480, data_graf_x[47]);// вторая точка  1-y 2-x
            Point p49 = new Point(490, data_graf_x[48]);// вторая точка  1-y 2-x
            Point p50 = new Point(500, data_graf_x[49]);// вторая точка  1-y 2-x
            Point p51 = new Point(510, data_graf_x[50]);// вторая точка  1-y 2-x
            Point p52 = new Point(520, data_graf_x[51]);// вторая точка  1-y 2-x
            Point p53 = new Point(530, data_graf_x[52]);// вторая точка  1-y 2-x
            Point p54 = new Point(540, data_graf_x[53]);// вторая точка  1-y 2-x
            Point p55 = new Point(550, data_graf_x[54]);// вторая точка  1-y 2-x
            Point p56 = new Point(560, data_graf_x[55]);// вторая точка  1-y 2-x
            Point p57 = new Point(570, data_graf_x[56]);// вторая точка  1-y 2-x
            Point p58 = new Point(580, data_graf_x[57]);// вторая точка  1-y 2-x
            Point p59 = new Point(590, data_graf_x[58]);// вторая точка  1-y 2-x
            Point p60 = new Point(600, data_graf_x[59]);// вторая точка  1-y 2-x
 
            Point p61 = new Point(610, data_graf_x[60]);// вторая точка  1-y 2-x
            Point p62 = new Point(620, data_graf_x[61]);// вторая точка  1-y 2-x
            Point p63 = new Point(630, data_graf_x[62]);// вторая точка  1-y 2-x
            Point p64 = new Point(640, data_graf_x[63]);// первая точка
            Point p65 = new Point(650, data_graf_x[64]);// вторая точка  1-y 2-x 1
            Point p66 = new Point(660, data_graf_x[65]);// вторая точка  1-y 2-x 2
            Point p67 = new Point(670, data_graf_x[66]);// вторая точка  1-y 2-x 3
            Point p68 = new Point(680, data_graf_x[67]);// вторая точка  1-y 2-x
            Point p69 = new Point(690, data_graf_x[68]);// вторая точка  1-y 2-x
            Point p70 = new Point(700, data_graf_x[69]);// вторая точка  1-y 2-x
            Point p71 = new Point(710, data_graf_x[70]);// вторая точка  1-y 2-x
            Point p72 = new Point(720, data_graf_x[71]);// вторая точка  1-y 2-x
            Point p73 = new Point(730, data_graf_x[72]);// вторая точка  1-y 2-x
            Point p74 = new Point(740, data_graf_x[73]);// вторая точка  1-y 2-x
            Point p75 = new Point(750, data_graf_x[74]);// вторая точка  1-y 2-x
            Point p76 = new Point(760, data_graf_x[75]);// вторая точка  1-y 2-x
            Point p77 = new Point(770, data_graf_x[76]);// вторая точка  1-y 2-x
            Point p78 = new Point(780, data_graf_x[77]);// вторая точка  1-y 2-x
            Point p79 = new Point(790, data_graf_x[78]);// вторая точка  1-y 2-x
            Point p80 = new Point(800, data_graf_x[79]);// вторая точка  1-y 2-x
            Point p81 = new Point(810, data_graf_x[80]);// вторая точка  1-y 2-x
            Point p82 = new Point(820, data_graf_x[81]);// вторая точка  1-y 2-x
            Point p83 = new Point(830, data_graf_x[82]);// вторая точка  1-y 2-x
            Point p84 = new Point(840, data_graf_x[83]);// вторая точка  1-y 2-x
            Point p85 = new Point(850, data_graf_x[84]);// первая точка
            Point p86 = new Point(860, data_graf_x[85]);// вторая точка  1-y 2-x 1
            Point p87 = new Point(870, data_graf_x[86]);// вторая точка  1-y 2-x 2
            Point p88 = new Point(880, data_graf_x[87]);// вторая точка  1-y 2-x 3
            Point p89 = new Point(890, data_graf_x[88]);// вторая точка  1-y 2-x
            Point p90 = new Point(900, data_graf_x[89]);// вторая точка  1-y 2-x
 
            Pen p_ = new Pen(Color.Green, 3);// цвет линии и ширина
 
            Point p91 = new Point(10, data_graf_y[0]);// первая точка
            Point p92 = new Point(20, data_graf_y[1]);// вторая точка  1-y 2-x 1
            Point p93 = new Point(30, data_graf_y[2]);// вторая точка  1-y 2-x 2
            Point p94 = new Point(40, data_graf_y[3]);// вторая точка  1-y 2-x 3
            Point p95 = new Point(50, data_graf_y[4]);// вторая точка  1-y 2-x
            Point p96 = new Point(60, data_graf_y[5]);// вторая точка  1-y 2-x
            Point p97 = new Point(70, data_graf_y[6]);// вторая точка  1-y 2-x
            Point p98 = new Point(80, data_graf_y[7]);// вторая точка  1-y 2-x
            Point p99 = new Point(90, data_graf_y[8]);// вторая точка  1-y 2-x
            Point p100 = new Point(100, data_graf_y[9]);// вторая точка  1-y 2-x
            Point p101 = new Point(110, data_graf_y[10]);// вторая точка  1-y 2-x
            Point p102 = new Point(120, data_graf_y[11]);// вторая точка  1-y 2-x
            Point p103 = new Point(130, data_graf_y[12]);// вторая точка  1-y 2-x
            Point p104 = new Point(140, data_graf_y[13]);// вторая точка  1-y 2-x
            Point p105 = new Point(150, data_graf_y[14]);// вторая точка  1-y 2-x
            Point p106 = new Point(160, data_graf_y[15]);// вторая точка  1-y 2-x
            Point p107 = new Point(170, data_graf_y[16]);// вторая точка  1-y 2-x
            Point p108 = new Point(180, data_graf_y[17]);// вторая точка  1-y 2-x
            Point p109 = new Point(190, data_graf_y[18]);// вторая точка  1-y 2-x
            Point p110 = new Point(200, data_graf_y[19]);// вторая точка  1-y 2-x
            Point p111 = new Point(210, data_graf_y[20]);// вторая точка  1-y 2-x
            Point p112 = new Point(220, data_graf_y[21]);// первая точка
            Point p113 = new Point(230, data_graf_y[22]);// вторая точка  1-y 2-x 1
            Point p114 = new Point(240, data_graf_y[23]);// вторая точка  1-y 2-x 2
            Point p115 = new Point(250, data_graf_y[24]);// вторая точка  1-y 2-x 3
            Point p116 = new Point(260, data_graf_y[25]);// вторая точка  1-y 2-x
            Point p117 = new Point(270, data_graf_y[26]);// вторая точка  1-y 2-x
            Point p118 = new Point(280, data_graf_y[27]);// вторая точка  1-y 2-x
            Point p119 = new Point(290, data_graf_y[28]);// вторая точка  1-y 2-x
            Point p120 = new Point(300, data_graf_y[29]);// вторая точка  1-y 2-x
 
            Point p121 = new Point(310, data_graf_y[30]);// вторая точка  1-y 2-x
            Point p122 = new Point(320, data_graf_y[31]);// вторая точка  1-y 2-x
            Point p123 = new Point(330, data_graf_y[32]);// вторая точка  1-y 2-x
            Point p124 = new Point(340, data_graf_y[33]);// вторая точка  1-y 2-x
            Point p125 = new Point(350, data_graf_y[34]);// вторая точка  1-y 2-x
            Point p126 = new Point(360, data_graf_y[35]);// вторая точка  1-y 2-x
            Point p127 = new Point(370, data_graf_y[36]);// вторая точка  1-y 2-x
            Point p128 = new Point(380, data_graf_y[37]);// вторая точка  1-y 2-x
            Point p129 = new Point(390, data_graf_y[38]);// вторая точка  1-y 2-x
            Point p130 = new Point(400, data_graf_y[39]);// вторая точка  1-y 2-x
            Point p131 = new Point(410, data_graf_y[40]);// вторая точка  1-y 2-x
            Point p132 = new Point(420, data_graf_y[41]);// вторая точка  1-y 2-x
            Point p133 = new Point(430, data_graf_y[42]);// первая точка
            Point p134 = new Point(440, data_graf_y[43]);// вторая точка  1-y 2-x 1
            Point p135 = new Point(450, data_graf_y[44]);// вторая точка  1-y 2-x 2
            Point p136 = new Point(460, data_graf_y[45]);// вторая точка  1-y 2-x 3
            Point p137 = new Point(470, data_graf_y[46]);// вторая точка  1-y 2-x
            Point p138 = new Point(480, data_graf_y[47]);// вторая точка  1-y 2-x
            Point p139 = new Point(490, data_graf_y[48]);// вторая точка  1-y 2-x
            Point p140 = new Point(500, data_graf_y[49]);// вторая точка  1-y 2-x
            Point p141 = new Point(510, data_graf_y[50]);// вторая точка  1-y 2-x
            Point p142 = new Point(520, data_graf_y[51]);// вторая точка  1-y 2-x
            Point p143 = new Point(530, data_graf_y[52]);// вторая точка  1-y 2-x
            Point p144 = new Point(540, data_graf_y[53]);// вторая точка  1-y 2-x
            Point p145 = new Point(550, data_graf_y[54]);// вторая точка  1-y 2-x
            Point p146 = new Point(560, data_graf_y[55]);// вторая точка  1-y 2-x
            Point p147 = new Point(570, data_graf_y[56]);// вторая точка  1-y 2-x
            Point p148 = new Point(580, data_graf_y[57]);// вторая точка  1-y 2-x
            Point p149 = new Point(590, data_graf_y[58]);// вторая точка  1-y 2-x
            Point p150 = new Point(600, data_graf_y[59]);// вторая точка  1-y 2-x
 
            Point p151 = new Point(610, data_graf_y[60]);// вторая точка  1-y 2-x
            Point p152 = new Point(620, data_graf_y[61]);// вторая точка  1-y 2-x
            Point p153 = new Point(630, data_graf_y[62]);// вторая точка  1-y 2-x
            Point p154 = new Point(640, data_graf_y[63]);// первая точка
            Point p155 = new Point(650, data_graf_y[64]);// вторая точка  1-y 2-x 1
            Point p156 = new Point(660, data_graf_y[65]);// вторая точка  1-y 2-x 2
            Point p157 = new Point(670, data_graf_y[66]);// вторая точка  1-y 2-x 3
            Point p158 = new Point(680, data_graf_y[67]);// вторая точка  1-y 2-x
            Point p159 = new Point(690, data_graf_y[68]);// вторая точка  1-y 2-x
            Point p160 = new Point(700, data_graf_y[69]);// вторая точка  1-y 2-x
            Point p161 = new Point(710, data_graf_y[70]);// вторая точка  1-y 2-x
            Point p162 = new Point(720, data_graf_y[71]);// вторая точка  1-y 2-x
            Point p163 = new Point(730, data_graf_y[72]);// вторая точка  1-y 2-x
            Point p164 = new Point(740, data_graf_y[73]);// вторая точка  1-y 2-x
            Point p165 = new Point(750, data_graf_y[74]);// вторая точка  1-y 2-x
            Point p166 = new Point(760, data_graf_y[75]);// вторая точка  1-y 2-x
            Point p167 = new Point(770, data_graf_y[76]);// вторая точка  1-y 2-x
            Point p168 = new Point(780, data_graf_y[77]);// вторая точка  1-y 2-x
            Point p169 = new Point(790, data_graf_y[78]);// вторая точка  1-y 2-x
            Point p170 = new Point(800, data_graf_y[79]);// вторая точка  1-y 2-x
            Point p171 = new Point(810, data_graf_y[80]);// вторая точка  1-y 2-x
            Point p172 = new Point(820, data_graf_y[81]);// вторая точка  1-y 2-x
            Point p173 = new Point(830, data_graf_y[82]);// вторая точка  1-y 2-x
            Point p174 = new Point(840, data_graf_y[83]);// вторая точка  1-y 2-x
            Point p175 = new Point(850, data_graf_y[84]);// первая точка
            Point p176 = new Point(860, data_graf_y[85]);// вторая точка  1-y 2-x 1
            Point p177 = new Point(870, data_graf_y[86]);// вторая точка  1-y 2-x 2
            Point p178 = new Point(880, data_graf_y[87]);// вторая точка  1-y 2-x 3
            Point p179 = new Point(890, data_graf_y[88]);// вторая точка  1-y 2-x
            Point p180 = new Point(900, data_graf_y[89]);// вторая точка  1-y 2-x
 
            Point[]  my_point = 
            {
             p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,  
             p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,p51,p52,p53,p54,p55,p56,p57,p58,p59,p60,  
             p61,p62,p63,p64,p65,p66,p67,p68,p69,p70,p71,p72,p73,p74,p75,p76,p77,p78,p79,p80,p81,p82,p83,p84,p85,p86,p87,p88,p89,p90
            };
 
            Point[] my_point1 = 
            {
             p91,p92,p93,p94,p95,p96,p97,p98,p99,p100,p101,p102,p103,p104,p105,p106,p107,p108,p109,p110,p111,p112,p113,p114,p115,p116,p117,p118,p119,p120,  
             p121,p122,p123,p124,p125,p126,p127,p128,p129,p130,p131,p132,p133, p134,p135,p136,p137,p138,p139,p140,p141,p142,p143,p144,p145,p146,p147,p148,p149,p150,  
             p151,p152,p153,p154,p155,p156,p157,p158,p159,p160,p161,p162,p163,p164,p165,p166,p167,p168,p169,p170,p171,p172,p173,p174,p175,p176,p177,p178,p179,p180
            };
 
 
 
            gr.DrawLines(p, my_point);// рисуем 1 линию  
            gr.DrawLines(p_, my_point1);// рисуем 2 линию
 
         }


Сильно не пинайте, я начинающий программист (если так можно назвать ).
За помощь буду Вам очень признателен!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.01.2014, 02:33
Ответы с готовыми решениями:

график с прокруткой
Всем привет! Можно ли создать в матлаб график с прокруткой без создания интерфейса (GUI)? Жду Вашего ответа! Заранее...

Построить простейший график
Нужно построить график для 2-х функций, используя GlVertex2f: y и y_an. Желательно с анимацией в зависимости функций от времени. Может...

Как нарисовать простейший график функции f(x) в Chart?
Как нарисовать простейший график функции f(x) в Chart (Visual Studio 2013) Помогите! Добавлено через 11 минут #include...

10
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
13.01.2014, 07:23
p180...
0
1 / 1 / 1
Регистрация: 06.10.2013
Сообщений: 79
13.01.2014, 09:25  [ТС]
По поводу р180...
Сделал так :

C#
1
2
3
4
5
6
7
8
9
private Point[] CreateArr(int count , int data_point)
        {
            Point[] myPArr = new Point[count];
            for (int i = 0; i < count; i++)
            {
                myPArr[i] = new Point(i*3, data_point); // шаг сетки 3 пиксела
            }
            return myPArr;
        }
1
192 / 199 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
13.01.2014, 12:20
C#
1
2
3
Point[]  my_point = 
            {
             p1,p2,p3,p4,p5.......


Это же на сколько человек трудолюбив , маловато надо до 1000 заставить сделать
2
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
13.01.2014, 13:14
Artos5, и то слава Богу...
1
1 / 1 / 1
Регистрация: 06.10.2013
Сообщений: 79
13.01.2014, 16:06  [ТС]
EVG-1980,Psilon, я-же написал , что начинающий
0
 Аватар для Spectral-Owl
608 / 583 / 157
Регистрация: 29.06.2010
Сообщений: 1,620
13.01.2014, 17:41
Кликните здесь для просмотра всего текста

........................................ ....________
....................................,.-'"...................``~.,
.............................,.-"................................... "-.,
.........................,/........................................ .......":,
.....................,?................. .....................................,
.................../........................................ ...................,}
................./........................................ ..............,:`^`..}
.............../........................................ ...........,:"........./
..............?.....__.................. .......................:`.........../
............./__.(....."~-,_..............................,:`..... ...../
.........../(_...."~,_........"~,_.................. ..,:`........_/
..........{.._$;_......"=,_......."-,_.......,.-~-,},.~";/....}
...........((.....*~_......."=-._......";,,./`..../"............../
...,,,___.`~,......"~.,................. ...`.....}............../
............(....`=-,,.......`........................(..... .;_,,-"
............/.`~,......`-...................................../
.............`~.*-,.....................................|, ./.....,__
,,_..........}.>-._...................................|.. ............`=~-,
.....`=~-,__......`,............................. ....
...................`=~-,,.,...............................
................................`:,,.... .......................`..............__
.....................................`=-,...................,%`>--==``
........................................ _..........._,-%.......`
...................................,


Добавлено через 7 минут
мысль что я об этом думаю я высказал, а вот как это можно улучшить:

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
private void pictureBox1_Paint(object sender, PaintEventArgs e)
         {
           //Перегруженый метод Paint
 
            //Если нужно будет работать с графиксом в других методах (рисовать на нем в других методах)
            //сделайте его глобальным
            //Graphics gr = this.CreateGraphics();//Создаем объект графикс из окна
 
             Graphics gr = e.Graphics;
            int w = this.ClientSize.Width;//размеры клиентской области
            int h = this.ClientSize.Height;//размеры клиентской области
            
            int widthLines = 20;//Ширина клетки
            int heightLines = 20;//Высота клетки
            for(int i = 0; i < w; i += widthLines)
            {
                //Вертикальные линии
                gr.DrawLine(new Pen(Brushes.Blue), new Point(i + widthLines, 0), new Point(i + widthLines, h));
                //Горизонтальные линии
                gr.DrawLine(new Pen(Brushes.Blue), new Point(0, i + heightLines), new Point(w, i + heightLines));
            }
      
          
           //Graphics gr = e.Graphics;
 
            graf_func();
 
        List<Point> listOne = new List<Point>();
        List<Point> listTwo = new List<Point>();
 
        for(int i=0;i<90;i++)
        {
            int x = (i+1)*10;
            listOne.Add(new Point(x, data_graf_x[i]));
            listTwo.Add(new Point(x, data_graf_y[i]));
        }
 
        Point[] my_point = listOne.ToArray();
        Point[] my_point1 = listTwo.ToArray();
 
        
        gr.DrawLines(new Pen(Color.Red, 3), my_point);// рисуем 1 линию 
        gr.DrawLines(new Pen(Color.Green, 3), my_point1);// рисуем 2 линию
}
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
13.01.2014, 19:02
Spectral-Owl, ТС же переписал этот кошмар в китайском стиле, а DrawLines афайк быстрее работают.
1
1 / 1 / 1
Регистрация: 06.10.2013
Сообщений: 79
13.01.2014, 19:12  [ТС]
Уважаемый Psilon! А почему в Китайском стиле?
Очень интересно узнать.

Мне кажется , мой код (после того кошмара) нагляднее смотрится.
ПС: я так ответа не получил
Что можно швырнуть на форму , чтобы был пикчербокс с ползунком или прокруткой колесиком?
В свойствах пикчербокса такого не нашел...
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
13.01.2014, 19:21
Artos5, так я про первый и написал, второй - переписали до более адекватного состояния. В "Китайском стиле" относится к "кошмар", а не "переписал". Почему китайский, а не индусский - разные подходы и стиль.

Когда я в дельфи помню работал, вернее учился, я пытался хранить числа в StringGrid - такой аналог шарповского DataGrid. Так вот, код работал медленно как Г и жрал по 200-400мб памяти. После этого я почесал голову, взял ползунок как отдельный компонент, зафиксировал количество отображаемых элементов на 20 вроде, и ВРУЧНУЮ обрабатывая событие прокрутки сделал аналог этакой виртуализации списка, то есть в списке находилось только 20 элементов, а остальное в массиве в памяти, при прокрутке же они подгружались динамически. В итоге потребление памяти сократилось на 2 порядка: то что раньше жрало по 200-400,стало кушать 2-4, появилась возможность обработки массивов по 100 миллиардов элементов, занимая меньше гигабайта памяти... Такие вот кулстори

Так что если что, всегда можно решить вручную. И я тогда был очень глупым нубом, но и то у меня это заняло пару часов, не больше.
2
1 / 1 / 1
Регистрация: 06.10.2013
Сообщений: 79
13.01.2014, 19:27  [ТС]
Благодарю за разжеванный ответ! Буду тоже репу чесать
В принципе понял как делать! Только с языком почти не знаком. Буду в вместе с книгой и интернетом учиться и пробовать!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.01.2014, 19:27
Помогаю со студенческими работами здесь

блок с прокруткой
Здраствуйте, хотел бы спросить кто как делает блок с прокруткой .SimpleDiv { width:50px; height:50px; background: #fff; ...

Трудности с прокруткой
Здравствуйте. Реализовал прокрутку касанием (swipe) для android устройства. Есть проблемы: 1. прокручивается как то глючновато, нет...

Контейнеры с прокруткой
Не могу разобраться как сделать контейнер с вертикальной прокруткой.Короче говоря есть меню на сайте которое выглядит очень большим.Мне...

Форма с прокруткой
отображается форма(окошко) определённого размера. истинный размер - гораздо больше. для просмотра дальних областей использовать два...

Блок с прокруткой
Всем привет. Нужно сделать на сайте блок с прокруткой контента. Есть несколько блоков информации, которые должны в нем отображаться....


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru