2014-12-02 2 views
0

Я сделал диаграмму, которая динамически рисует всплеск при получении данных. В этой диаграмме я сделал полосу прокрутки, поэтому во время показа отображаются только 20 точек данных.Полоса прокрутки вправо, а не влево

public void Chart() 
{ 
    ChartArea mov = SleepMovChar.ChartAreas["Movement"]; 
    mov.AxisX.ScrollBar.Size = 12; 
    mov.AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.SmallScroll; 
    mov.AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.All^ScrollBarButtonStyles.ResetZoom; 
    mov.AxisX.ScrollBar.IsPositionedInside = true; 
    mov.AxisX.ScrollBar.Enabled = true; 
    mov.AxisX.ScaleView.Size = 20; 
} 

Моя проблема в том, что я хочу, чтобы эта полоса прокрутки перемещалась вправо при получении данных. В настоящее время он перемещается влево, поэтому отображаются первые данные. Я просто хочу, чтобы вместо этого показывались последние данные, так что полоса прокрутки следует за получением данных.

ответ

0

Если вы хотите, чтобы видимая область следовать новым данным как в осциллографе, вы можете установить позицию прокрутки:

Series S1 = SleepMovChar.Series["yourSeriesByNameOrNumber"]; 
mov.AxisX.ScaleView.Position = S1.Points.Count - mov.AxisX.ScaleView.Size; 

Вам нужно будет повторять это каждый раз, когда вы добавили точки данных ..