データベースと通信する方法は多数あります。おそらくEF Code Firstアプローチを使用していると思います。このコンテキストを想像してください:
public class WinFormContext : DbContext
{
public DbSet<Car> Cars { get; set; }
}
public class Car
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
}
最初にレコードを追加します。テキスト ボックスと 1 つのボタンで簡単なフォームを作成します。
private void button1_Click(object sender, EventArgs e)
{
using (var WinFormContext = new WinFormContext())
{
Car car = new Car { Name = textBox1.Text };
WinFormContext.Cars.Add(car);
WinFormContext.SaveChanges();
}
}
onClick イベントの後に新しいレコードを追加する方法は簡単です。ここで、グリッド ビューですべてのレコードを表示したいと考えています。考えられる解決策の 1 つは、コントロールを手動で埋めることです。
BindingSource bindingSource = new BindingSource();
private void Form2_Load(object sender, EventArgs e)
{
var WinFormContext = new WinFormContext();
bindingSource.DataSource = WinFormContext.Cars.ToList();
dataGridView1.DataSource = bindingSource;
dataGridView1.AutoGenerateColumns = true;
}
しかし、それを行う方法は他にもあります。Google で「win フォームのデータ バインディング」をご覧になることをお勧めします...