<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
使用滑鼠滾輪捲動放大和縮小X軸的寬度,滑鼠左鍵按住拖動實現曲線的左右平移,不再使用卷軸。
在chart控制元件自帶的滑鼠事件中並沒有滑鼠的滾輪事件,因此需要手動新增一下,在表單的Designer.cs檔案下的InitializeComponent()函數中新增如下程式碼
this.chart1.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.chart1_MouseWheel);
實現滑鼠滾輪事件
private void chart1_MouseWheel(object sender, MouseEventArgs e) { // 實驗發現滑鼠滾輪捲動一圈時e.Delta = 120,正反轉對應正負120 if (chart1.ChartAreas[0].AxisX.ScaleView.Size > 0) // 防止越過左邊界 { chart1.ChartAreas[0].AxisX.ScaleView.Size += (e.Delta / 120); // 每次縮放1 } else if(e.Delta > 0) { chart1.ChartAreas[0].AxisX.ScaleView.Size += (e.Delta / 120); // 每次縮放1 } }
上述方法即可實現滑鼠滾輪捲動完成曲線的縮放功能,下面實現滑鼠按鍵按住左右拖動實現曲線的左右平移。
// 定義兩個全域性變數 public bool isMouseDown = false; public int lastMove = 0; // 用於記錄滑鼠上次移動的點,用於判斷是左移還是右移 // 初始化ScaleView,可根據首次出現在chart中的資料點數修改合適的值 chart1.ChartAreas[0].AxisX.ScaleView.Size = 5; // 設定不顯示chart自帶的卷軸 chart1.ChartAreas[0].AxisX.ScrollBar.Enabled = false; chart1.ChartAreas[0].AxisY.ScrollBar.Enabled = false; // 注意不要開啟X軸遊標,預設不開啟,如下設定false或者不設定下列引數 chart1.ChartAreas[0].CursorX.IsUserEnabled = false; chart1.ChartAreas[0].CursorX.AutoScroll = false; chart1.ChartAreas[0].CursorX.IsUserSelectionEnabled = false;
上述事件在chart控制元件中均自帶,直接新增即可,事件程式碼如下:
// 滑鼠按下事件 private void chart1_MouseDown(object sender, MouseEventArgs e) { lastMove = 0; isMouseDown = true; } // 滑鼠彈起事件 private void chart1_MouseUp(object sender, MouseEventArgs e) { isMouseDown = false; } // 滑鼠移動事件 private void chart1_MouseMove(object sender, MouseEventArgs e) { if (isMouseDown) { // 可更改(交換)如下加減1或if條件來設定滑鼠移動時曲線移動方向 if(lastMove != 0 && e.X - lastMove > 0) chart1.ChartAreas[0].AxisX.ScaleView.Position += 1; // 每次移動1 else if(lastMove != 0 && e.X - lastMove < 0) chart1.ChartAreas[0].AxisX.ScaleView.Position -= 1; // 每次移動1 lastMove = e.X; } }
最終效果如下,圖片前面黑呼呼的為控制檯輸出,似乎有點看不清(可忽略),可觀察到滑鼠滾輪的變化。
Chart控制元件可以用來繪製波形圖、柱狀圖、餅圖、折線圖等,用來進行資料表現是很不錯的,現在簡單說一下這個控制元件的使用方法
我們首先要載入Chart控制元件
然後開啟控制元件的屬性視窗
在這個視窗裡面我們可以修改曲線的名稱,名稱在【資料》Name】裡面修改
講一下屬性視窗裡面我們用到的幾個選項的作用吧
XValueType是X軸的資料型別,Y同理,這裡我們選Time,可以隨時間改變
ChartType是圖表的型別,我們可以選出我們想要用的型別,這裡選曲線
Color可以選擇曲線的顏色,這裡我選了紅色
左邊的成員 框,是我們要顯示的曲線,可以新增多個
其他屬性如果有需要自行修改,修改好之後確定,回到視窗設計介面
在工具箱新增Timer
在Timer的事件視窗雙擊時鐘事件
程式碼如下,請自行對照填到對應的事件裡面去
public partial class Form1 : Form { int cnt = 0; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { timer1.Enabled = true; } private void timer1_Tick(object sender, EventArgs e) { chart1.Series[0].Points.AddY(cnt*cnt); label1.Text = cnt.ToString(); cnt++; } private void chart1_Click(object sender, EventArgs e) { } }
cnt是個自變數,曲線顯示的是cnt為底的2次指數曲線
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45