在利用devexpress的chart控制項作圖時,常要對控制項的座標進行設定,否則,圖形會在介面上不斷地累加,如下圖所示。橫座標不斷累積,從而使圖形顯得臃腫,現在,我們要新增**對橫座標進行設定,使其可以進行移動。
解決的方法及步驟如下:
1)可以到dexexpress中檢視xtracharts的sample,可以檢視當中的real-time chart,裡面有相關的解決**。
**如下:
void timer_tick(object sender, eventargs e)
datetime mindate = argument.addseconds(-timeinterval);
int pointstoremovecount = 0;
foreach(seriespoint point in series1.points)
if(point.datetimeargument < mindate)
pointstoremovecount++;
if(pointstoremovecount < series1.points.count)
pointstoremovecount--;
series1.points.addrange(pointstoupdate1);
series2.points.addrange(pointstoupdate2);
if(pointstoremovecount > 0)
if(axisxrange != null)
axisxrange.setminmaxvalues(mindate, argument);
}
這段**中以時間為橫座標,當橫座標上的時間小於預設的時間時,series上的點落入刪除的區間,最後呼叫points的removerange
刪除這些點。
2)我的實現方案
devexpress.xtracharts.seriespoint p = new devexpress.xtracharts.seriespoint(st, val);
chartcontrol1.series[0].points.add(p);
nowlength++;
if (nowlength > xlength)
xlength是自己設定的乙個int,表示你期望在橫座標上顯示的點,當現在的點數nowlength超過這個值,就會將最前面的這個差額
減去。從而一直維護下去。
執行效果:
其實,這裡的邏輯可以更簡單,上述程式的意思就是在介面上點數量一定時,增添乙個點,最前面就刪除乙個點。所以,有以下程式變種,邏輯相同,程式卻更為簡單:
devexpress.xtracharts.seriespoint p = new devexpress.xtracharts.seriespoint(st, val);
chartcontrol1.series[0].points.add(p);
nowlength++;
if (nowlength > xlength)
第一篇技術博文,希望能夠在csdn,和各位大俠一起成長,我這只菜青色的小鳥,希望在各位大俠的幫助下翱翔藍天,蛻變為大鵬。
請多多指教。
DevExpress中DateEdit控制項漢化
在網上找到好多這方面的資料,可是我卻不知道把那些 放 歪打誤撞,終於對了,我要漢化的只有裡面的 clear和today button frmmain.designer.cs檔案中 加入一段 public class cheditlocalizer localizer return base.getl...
DevExpress中TreeList樹樣式調整
devexpress的treelist預設是沒有樹狀線的,修改treelinestyle屬性無效,這對於tree並不好看。官方解釋說對於devexpress的標準主題是不支援treelist有treeline的 不是技術問題,是設計理念不同 如devexpress style,devexpress ...
DevExpress中透明玻璃效果
aero玻璃效果 下圖左是devexpress無玻璃效果,圖右是windows自帶玻璃效果.windows aero 是從 windows vista 開始使用的新型使用者介面,透明玻璃感讓使用者一眼貫穿。aero 為四個英文單字的首字母縮略字 authentic 真實 energetic 動感 r...