国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

在winform中繪圖

這篇具有很好參考價值的文章主要介紹了在winform中繪圖。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

今天跟大家分享一下最近做的一個程序中繪圖功能的實現(xiàn)。

先來看看實現(xiàn)的效果:

具體實現(xiàn)

頁面的設計

繪圖設置頁面的設計如下所示:

4個label控件,控件如下所示:

2個DateEdit控件,控件如下所示:

1個ComboBoxEdit控件,控件如下所示:

1個CheckedListBoxControl控件,控件如下所示:

1個SimpleButton控件,控件如下所示:

繪圖展示的頁面設計如下:

只有一個ChartControl控件,控件如下所示:

代碼

繪圖的數(shù)據(jù)是之前文章提過的使用C#實現(xiàn)爬蟲獲取網(wǎng)頁數(shù)據(jù)得到的數(shù)據(jù),如下所示:

這些數(shù)據(jù)中只用了最低溫度、最高溫度、最低能見度、最高能見度來繪圖。

第一步實現(xiàn)加載窗體時獲取ComboBoxEdit與CheckedListBoxControl中的內容:

 public void init()
{
? ? // 為下拉框框賦值
? ? var comboBoxItems = db.Queryable<WeatherData>().Select(x => x.StationName).Distinct().ToList();
? ? comboBoxEdit1.Properties.Items.AddRange(comboBoxItems);
? ? comboBoxEdit2.Properties.Items.AddRange(comboBoxItems);
?
? ? // 多選框的設置
? ? checkedListBoxControl1.CheckOnClick = true; // 設置為單擊即選中或取消選中
?
? ? // 多選框中的值
? ? string[] indexs = { "最低溫度(℃)", "最高溫度(℃)", "最低可見度(km)", "最高可見度(km)" };
? ? // 多選框添加項
? ? var checkedItems = new List<CheckedListBoxItem>();
? ? foreach (var index in indexs)
? ? {
? ? ? ? var checkedItem = new CheckedListBoxItem();
? ? ? ? checkedItem.Value = index;
? ? ? ? checkedItems.Add(checkedItem);
? ? }
? ? checkedListBoxControl1.Items.AddRange(checkedItems.ToArray());
?
}
private void ToolbarForm1_Load(object sender, EventArgs e)
{
? ? init();
}

獲取不同的站名:

 var comboBoxItems = db.Queryable<WeatherData>()
? ? ? ? ? ? ? ? ? ? ? .Select(x => x.StationName).Distinct().ToList();

為下拉框添加值:

 ?comboBoxEdit1.Properties.Items.AddRange(comboBoxItems);

為多選框添加值:

 ? ? // 多選框的設置
? ? checkedListBoxControl1.CheckOnClick = true; // 設置為單擊即選中或取消選中
?
? ? // 多選框中的值
? ? string[] indexs = { "最低溫度(℃)", "最高溫度(℃)", "最低可見度(km)", "最高可見度(km)" };
? ? // 多選框添加項
? ? var checkedItems = new List<CheckedListBoxItem>();
? ? foreach (var index in indexs)
? ? {
? ? ? ? var checkedItem = new CheckedListBoxItem();
? ? ? ? checkedItem.Value = index;
? ? ? ? checkedItems.Add(checkedItem);
? ? }
? ? checkedListBoxControl1.Items.AddRange(checkedItems.ToArray());

開始繪圖按鈕的點擊事件代碼:文章來源地址http://www.zghlxwxcb.cn/news/detail-747863.html

 private void simpleButton3_Click(object sender, EventArgs e)
{
? ? var date1 = dateEdit3.EditValue;
? ? var date2 = dateEdit4.EditValue;
? ? var name = comboBoxEdit2.Text;
? ? var checkedItems = checkedListBoxControl1.CheckedItems;
? ? if (date1 != null && date2 != null && name != "" && checkedItems.Count != 0)
? ? {
? ? ? ? var startDate = Convert.ToDateTime(date1);
? ? ? ? var endDate = Convert.ToDateTime(date2);
? ? ? ? var list = db.Queryable<WeatherData>().Where(x => x.Date >= startDate && x.Date < endDate.AddDays(1) && x.StationName == name).ToList();
? ? ? ? // 清空之前的圖
? ? ? ? if (chartControl2.Series.Count > 0)
? ? ? ? {
? ? ? ? ? ? chartControl2.Series.Clear();
? ? ? ? }
? ? ? ? // 選中幾個指標就畫幾個圖
? ? ? ? foreach (CheckedListBoxItem item in checkedItems)
? ? ? ? {
? ? ? ? ? ? var indexKey = item.Value.ToString();
? ? ? ? ? ? switch (indexKey)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? case "最低溫度(℃)":
? ? ? ? ? ? ? ? ? ? Series series1 = new Series("最低溫度(℃)", ViewType.Line);
? ? ? ? ? ? ? ? ? ? foreach (var dataPoint in list)
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? series1.Points.Add(new SeriesPoint(dataPoint.Date, dataPoint.Tem_Low));
?
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? chartControl2.Series.Add(series1);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case "最高溫度(℃)":
? ? ? ? ? ? ? ? ? ? Series series2 = new Series("最高溫度(℃)", ViewType.Line);
? ? ? ? ? ? ? ? ? ? foreach (var dataPoint in list)
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? series2.Points.Add(new SeriesPoint(dataPoint.Date, dataPoint.Tem_High));
?
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? chartControl2.Series.Add(series2);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case "最低可見度(km)":
? ? ? ? ? ? ? ? ? ? Series series3 = new Series("最低可見度(km)", ViewType.Line);
? ? ? ? ? ? ? ? ? ? foreach (var dataPoint in list)
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? series3.Points.Add(new SeriesPoint(dataPoint.Date, dataPoint.Visibility_Low));
?
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? chartControl2.Series.Add(series3);

到了這里,關于在winform中繪圖的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 做程序員累了想要轉行?我想給大家分享一下看法

    今天早上起床時,我看到有粉絲評論說關于程序員的話題,如果做著覺得累了,就會覺得自己不適合這個工作,想轉行。我想給大家分享一下我的看法。 在我剛開始工作時,有人說我不適合做這個工作,但是我堅持了下來,做了3年。一開始,我學習的專業(yè)技術上還可以,但

    2023年04月19日
    瀏覽(18)
  • 作為一名普通的java程序員,我想和大家分享一下4年來的工作內容

    我是16屆畢業(yè)生,我的第一份工作是做外包,第一年的時間里測試偏多,比如用Excel文檔生成測試代碼進行單元測試,也會寫一些簡單的增刪改查,以及用shell處理數(shù)據(jù),還有一些純測試的工作,比如點頁面啊截圖。到了第二年,開發(fā)的工作也變得多了一些,但大部分還是增刪

    2024年02月05日
    瀏覽(30)
  • 分享一個500頁面給大家

    分享一個500頁面給大家

    先看效果: 再看代碼:

    2024年02月06日
    瀏覽(25)
  • 分享一個403界面給大家

    分享一個403界面給大家

    先看效果圖(說明:小鬼影會飄來飄去,長時間停留會有小驚喜,具體大家跑一下就知道): 代碼如下: PS:發(fā)現(xiàn)我用文字寫太生硬了,干的噎嗓子,干脆在代碼里加注釋了。

    2024年02月06日
    瀏覽(25)
  • 分享一下怎么做一個同城配送小程序

    分享一下怎么做一個同城配送小程序

    如何制作一個同城配送小程序:功能特點、使用指南及未來展望 一、引言 隨著互聯(lián)網(wǎng)的快速發(fā)展,人們對于生活服務的需求越來越高。同城配送作為連接消費者與商家的橋梁,越來越受到人們的關注。本文將詳細介紹如何制作一個同城配送小程序,包括其功能特點、使用指

    2024年02月07日
    瀏覽(23)
  • 今天給大家?guī)鞵ython炫酷愛心代碼

    今天給大家?guī)鞵ython炫酷愛心代碼

    前言: 這個是小編之前朋友一直要小編去做的,不過之前技術不夠所以一直拖欠今天也完成之前的約定吧! 至于他是誰,我就不多說了直接上代碼 如果有需要的話,可以聯(lián)系小編噢!

    2024年02月05日
    瀏覽(23)
  • 初學51單片機(STC89C52)一個倒計時顯示器和大家分享

    ? 想要實現(xiàn)倒計時顯示器,首先得確定從哪個時間開始倒計時,這就需要寫出一個計數(shù)的程序來,通過按鍵來控制需要的數(shù),從而開始倒計時。我的開發(fā)板上用的Key2,Key3,Key4,Key5這四個鍵,分別對應著加1,減1,乘2,開始計時四個功能。 ? 通過加一,減一,乘2三個操作,

    2024年02月10日
    瀏覽(26)
  • 今天跟大家推薦幾款實用的ai寫作生成器

    今天跟大家推薦幾款實用的ai寫作生成器

    自ai技術的發(fā)展以來,人工智能在各個領域都展現(xiàn)出了無限可能。在學術界,寫作論文是科研人員不可避免的重要任務,然而,論文寫作需要大量的時間和經(jīng)驗技能,而這對剛剛步入學術領域的年輕科研人員來說尤為困難。在這樣的背景下,提高寫作效率、降低人力成本、縮

    2024年02月13日
    瀏覽(28)
  • 今天教大家微信小程序怎么免300元認證費終身使用的教程

    今天教大家微信小程序怎么免300元認證費終身使用的教程

    眾所周知微信小程序認證需要300元認證費,當然用已認證的微信公眾號可以免費認證但是認證微信公眾號也需要300認證費而且需要每年進行年檢等于每年都要花300元。 不知道大家注冊小程序的時候有沒有發(fā)現(xiàn)審核很慢申請完需要等幾天很費時間, 而且微信限制一個身份證只

    2024年02月08日
    瀏覽(23)
  • 今天給大家介紹一篇基于springboot的醫(yī)院管理系統(tǒng)的設計與實現(xiàn)

    今天給大家介紹一篇基于springboot的醫(yī)院管理系統(tǒng)的設計與實現(xiàn)

    臨近學期結束,你還在做java程序網(wǎng)絡編程,期末作業(yè),老師的作業(yè)要求覺得大了嗎?不知道畢業(yè)設計該怎么辦?網(wǎng)頁功能的數(shù)量是否太多?沒有合適的類型或系統(tǒng)?等等。這里根據(jù)疫情當下,你想解決的問題,今天給大家介紹一篇基于springboot的醫(yī)院管理系統(tǒng)的設計與實現(xiàn)。 隨著科

    2023年04月14日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包