2007/09/04(Tue) 18:15:48 編集(投稿者)
> 分類:[.NET 全般]
言語は制限しないということでしょうか?
No7354 が C# なので、それに合わせて回答しておきます。
■No7370 (グリッド さん) に返信
> つまり、ボタンを押した瞬間に対象行の色を黄色に出来るようにしたいのです。
えぇと…。
グリッド さんの「やりたいこと」は分かったのですが、「何に困っているのか」がわかりません。
とりあえず、仕様どおりに作ってみたつもりですが、問題点はどこでしょうか。
private void Form1_Load(object sender, EventArgs e)
{
// 2行2列のdatagridviewで、2列目にボタンを置きます。
dataGridView1.AllowUserToAddRows = false;
dataGridView1.Columns.Clear();
dataGridView1.Columns.AddRange(
new DataGridViewTextBoxColumn(),
new DataGridViewButtonColumn());
dataGridView1.RowCount = 2;
//デフォルトの状態はbackcolorが白色になっています。
DataGridViewCellStyle style = dataGridView1.DefaultCellStyle;
style.BackColor = style.SelectionBackColor = Color.White;
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex != 1) return;
// ボタンを押すとそれぞれボタンの配置されている行のbackcolorが黄色になります。
// 黄色になるタイミングはボタン押下時のイベントです。
DataGridViewCellStyle style = ((DataGridView)sender).Rows[e.RowIndex].DefaultCellStyle;
style.BackColor = style.SelectionBackColor = Color.Yellow;
}