簡體   English   中英

圖表以從 textbox.text 中獲取用戶的值並在 y 軸上繪制最大值和最小值以 hh:mm 為單位

[英]Chart to take values from user from textbox.text and plot max and min values on y-axis for time in hh:mm

這是屏幕截圖..我按照你說的做了,但是現在當我運行代碼時...... x 軸刻度變成空白......

chart1.ChartAreas[0].AxisX.Minimum = Convert.ToDateTime(textBox7.Text).ToOADate();
chart1.ChartAreas[0].AxisX.Maximum = Convert.ToDateTime(textBox8.Text).ToOADate(); 

這是在調試模式下的屏幕截圖,它顯示了一些隨機數......不知道那是什么......

即使我這樣做也是一樣的:

chart1.ChartAreas[0].AxisX.Minimum = DateTime.Parse(textBox7.Text).ToOADate();
chart1.ChartAreas[0].AxisX.Maximum = DateTime.Parse(textBox8.Text).ToOADate(); 

在此處輸入圖片說明

在此處輸入圖片說明

以前的值如下圖所示.. 以前的價值觀

這些是來自 DataGridView 的值,我在圖表上顯示時間與溫度的關系......紅色圓圈表示時間值,其最小值和最大值是我想要從 Textbox7.text 和 Textbox8.text 中獲取並顯示的值在圖表 X 軸上.... 在此處輸入圖片說明

默認情況下, MinimumMaximum正在等待雙打,這就是您在這里所做的:

chart1.ChartAreas[0].AxisX.Minimum = Convert.ToDouble(textBox1.Text);

但是您正在嘗試將09:27轉換為無法完成的雙09:27 ,因為它的格式無效。

但是,如果您想處理時間,則必須將 XValueType 設置為Time並將您的 TextBox 解析為 DateTime,如下所示:

chart1.ChartAreas[0].AxisX.Minimum = DateTime.Parse(textBox1.Text).ToOADate();

它應該可以解決問題。


使用DateTime.Parse(textBox1.Text)將創建一個具有今天日期和請求時間的對象。 就您而言,您有興趣保留日期 ( 08/30/2016 )。 你需要做的是:

// Get the old date
DateTime currentDateMin = DateTime.FromOADate(chart1.ChartAreas[0].AxisX.Minimum);
// Parse the date you want to set
DateTime requestesd = DateTime.Parse(textBox1.Text);
// Set the time part
DateTime newDateMin = new DateTime(currentDateMin.Year, currentDateMin.Month, currentDateMin.Day, requestesd.Hour, requestesd.Minute, requestesd.Second);
// Assign to your axis
chart1.ChartAreas[0].AxisX.Minimum = newDateTime.ToOADate();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM