Присвоение значений ComboBox!
Нужна помощь! Как присвоить значение комбобокс? Я новичок в C#! Нужно присвоить значение Type/brand/model/benchmark к Combobox, можно по отдельности, можно вместе. (Еще нужна помощь в коде, WriteLine я уберу сам)) по-сути все) (Сразу извиняюсь за криво-вставленный код, я не знаю как его правильно тут вставить (новичок на сайте, в т.ч.)
namespace combobox_test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//vse processori
class CPUs
{
void Test(string[] args)
{
{
using (var reader = new StreamReader(@"C:\Users\denchicka\Desktop\ДИПЛОМ\CPU_UserBenchmarks.csv"))
using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
{
var records = new List<CPU>();
csv.Read();
csv.ReadHeader();
while (csv.Read())
{
var record = new CPU
{
Type = csv.GetField<string>("Type"),
Brand = csv.GetField<string>("Brand"),
Model = csv.GetField<string>("Model"),
Benchmark = csv.GetField<float>("Benchmark")
};
records.Add(record);
}
foreach (var record in records)
{
Console.WriteLine(record.Type + " " + record.Brand + " " + record.Model + " " + record.Benchmark);
Console.ReadLine();
}
}
}
}
//CPU
class CPU
{
public string Type { get; set; }
public string Brand { get; set; }
public string Model { get; set; }
public float Benchmark { get; set; }
}
}
}
}
Ответы (1 шт):
Не используте вложенные классы. Чтобы выполнить код при загрузке программы, создайте в дизайнере формы обработчик события Form.Load. Вызывайте метод загрузки из него.
Положите файл с данными в каталог с запускаемой программой, чтобы при ее перемещении, в другую папку она не поломалась. Application.StartupPath - способ получить путь к каталогу запуска приложения.
Код получится примерно такой.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
List<CPU> cpus = CPUs.GetCPUValues();
foreach (CPU cpu in cpus)
{
comboBox1.Items.Add(cpu.Type + " " + cpu.Brand + " " + cpu.Model + " " + cpu.Benchmark);
}
}
}
public static class CPUs
{
public static List<CPU> GetCPUValues()
{
string filePath = Path.Combine(Application.StartupPath, "CPU_UserBenchmarks.csv");
using (var reader = new StreamReader(filePath))
using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
{
var records = new List<CPU>();
csv.Read();
csv.ReadHeader();
while (csv.Read())
{
var record = new CPU
{
Type = csv.GetField<string>("Type"),
Brand = csv.GetField<string>("Brand"),
Model = csv.GetField<string>("Model"),
Benchmark = csv.GetField<float>("Benchmark")
};
records.Add(record);
}
return records;
}
}
}
public class CPU
{
public string Type { get; set; }
public string Brand { get; set; }
public string Model { get; set; }
public float Benchmark { get; set; }
}
