winform 通过键盘触发按钮事件后,如何获取datagridview内checkbox是否选择 这个问题,如果不通过键盘触发事件,直接去点击按钮,可以获取被选择的checkbox项,但通过键盘触发事件后,就获取不到被选择的checkbox项,大家有什么办法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在checkBox1_CheckStateChanged这个事件里获取他的state! public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { bool bo = true; for (int i = 0; i < 10; i++) { DataGridViewRow row = dataGridView1.Rows[dataGridView1.Rows.Add()]; row.Cells[0].Value = i; row.Cells[1].Value = bo; bo = !bo; } } private void Form1_KeyDown(object sender, KeyEventArgs e) { int count = 0; foreach (DataGridViewRow row in dataGridView1.Rows) { if (!row.IsNewRow) if (Convert.ToBoolean(row.Cells[1].Value)) count++; } MessageBox.Show(count.ToString()); }private void InitializeComponent() { this.dataGridView1 = new System.Windows.Forms.DataGridView(); this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column2 = new System.Windows.Forms.DataGridViewCheckBoxColumn(); ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); this.SuspendLayout(); // // dataGridView1 // this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column1, this.Column2}); this.dataGridView1.Location = new System.Drawing.Point(62, 36); this.dataGridView1.Name = "dataGridView1"; this.dataGridView1.RowTemplate.Height = 23; this.dataGridView1.Size = new System.Drawing.Size(269, 150); this.dataGridView1.TabIndex = 0; // // Column1 // this.Column1.HeaderText = "Column1"; this.Column1.Name = "Column1"; // // Column2 // this.Column2.HeaderText = "Column2"; this.Column2.Name = "Column2"; // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(657, 376); this.Controls.Add(this.dataGridView1); this.KeyPreview = true; this.Name = "Form1"; this.Text = "Form1"; this.Load += new System.EventHandler(this.Form1_Load); this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown); ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); this.ResumeLayout(false); } } C# "eval"? C# timer一个巨郁闷的问题BUG? 大家分析分析 给菜鸟解释一下 谁能为我解释一下这段代码? 问个关于抓取网页的问题 问一个比较菜的问题 a part time job: ASP.Net(C#) program developer 查询Access数据库怎样写时间条件? 请教高手一个关于打印的问题 ConnectionString 属性尚未初始化 关于在form上的时间显示 (Winform)请求的url长度过长怎么办? C# 如何获取DIV中ID的内容?
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
bool bo = true;
for (int i = 0; i < 10; i++)
{
DataGridViewRow row = dataGridView1.Rows[dataGridView1.Rows.Add()];
row.Cells[0].Value = i;
row.Cells[1].Value = bo;
bo = !bo;
}
} private void Form1_KeyDown(object sender, KeyEventArgs e)
{
int count = 0;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (!row.IsNewRow)
if (Convert.ToBoolean(row.Cells[1].Value))
count++;
}
MessageBox.Show(count.ToString());
}private void InitializeComponent()
{
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column2 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// dataGridView1
//
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Column1,
this.Column2});
this.dataGridView1.Location = new System.Drawing.Point(62, 36);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.Size = new System.Drawing.Size(269, 150);
this.dataGridView1.TabIndex = 0;
//
// Column1
//
this.Column1.HeaderText = "Column1";
this.Column1.Name = "Column1";
//
// Column2
//
this.Column2.HeaderText = "Column2";
this.Column2.Name = "Column2";
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(657, 376);
this.Controls.Add(this.dataGridView1);
this.KeyPreview = true;
this.Name = "Form1";
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false); }
}