重複の可能性:
datagridview dynamic with image
彼は、datagridview を動的に作成するのを手伝ってくれました。C# Windows フォーム
目的は、IP または HostName の成功のリストを ping することであり、応答に応じてグリッド (ホスト、日付、およびイメージの赤または緑) に挿入された場合。
グリッドを書き込むこの関数がありますが、1 つの ping が成功しない場合、他のすべてのRedball
.
private void TabelaDinamimca(bool sucesso,string host, string data)
{
GridView1.ColumnCount = 3;
GridView1.Columns[1].Name = "host";
GridView1.Columns[2].Name = "data";
DataGridViewImageColumn img = new DataGridViewImageColumn();
string path = (sucesso == true
? @"C:\TestFolder\greenBall.png"
: @"C:\TestFolder\redBall.png");
Image image = Image.FromFile(path);
img.Image = image;
GridView1.Columns.Add(img);
string[] row = new string[] { host, data };
GridView1.Rows.Add(row);
GridView1.Show();
}
注: デバッグ モードでは、bool sucesso ケースErro
は false です。
解決
private void TabelaDinamimcaSucess(bool sucesso, int index, string host, string data, string tempo,string status)
{
string[] row = new string[] { index.ToString(), host, data, tempo,status };
dataGridView1.Rows.Add(row);
int number_of_rows = dataGridView1.RowCount -1;
Bitmap b = new Bitmap((sucesso == true ? Properties.Resources.greenBall : Properties.Resources.redBall));
Icon icon = Icon.FromHandle(b.GetHicon());
dataGridView1.Rows[number_of_rows].Cells["img"].Value = icon;
dataGridView1.Show();
}