我创建了一个包含三个值的ComboBox.我想在没有选择项目时打开一个消息框,所以我尝试了这个:
if (comboBox1.SelectedItem == null)
{
MessageBox.Show("Please select a value");
return;
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,但只有当我点击组合框中的字段.当我不接触它时,程序将在没有消息框的情况下启动.怎么了?
我必须阅读.txt并显示它.数据中的double值用"."写入.当我启用德语时,它不会将其解释为逗号.现在我尝试检查语言是否设置为德语并替换所有"." 用",".这些值存储在名为"_value"的数组中,但不起作用.这是代码:
if ((System.Threading.Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName) == "de")
{
for (int i = 0; i < _value.Length; i++)
{
String temp_var = Convert.ToString(_value[i]);
temp_var.Replace(".", ",");
_value[i] = Convert.ToDouble(temp_var);
}
}
Run Code Online (Sandbox Code Playgroud) 编辑:
我有以下代码:
private void button1_Click_1(object sender, EventArgs e)
{
var date = new List<String>();
var value = new List<Double>();
string dir = @"C:\Main\test.csv";
using (var reader = new System.IO.StreamReader(dir))
{
var lines = File.ReadLines(dir)
.Skip(1);//Ignore the first line
foreach (var line in lines)
{
var fields = line.Split(new Char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
date.Add(fields[0]);
if (fields.Length > 1)
value.Add(Convert.ToDouble(fields[1]));
}
String[] _date = date.ToArray();
Double[] _value = value.ToArray();
chart1.Series["Test"].Points.DataBindXY(_date,_value);
chart1.Series["Test"].ChartType = SeriesChartType.Spline;
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想跳过csv数据的标题.这意味着第一列的第一行和第二列的第一行.怎么做?
标题是字符串.当没有头条新闻时,他将跳过第一行,但头条新闻我得到一个System.FormatException.
当第一行包含第一列中的Date而第二列中的Value包含(使用texteditor打开)时,它会失败:
"日期","价值"
"20.04.2010"; "82.6619508214314" …
我有两个事件:
private void button1_Click_1(object sender, EventArgs e)
Run Code Online (Sandbox Code Playgroud)
和
private void checkBox1_CheckedChanged(object sender, EventArgs e)
Run Code Online (Sandbox Code Playgroud)
是否可以链接它们,以便当我按下按钮时,复选框被取消选中?