private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
DataGridView dgv = (DataGridView)sender; if (e.ColumnIndex == 0)
{
object obj = dgv[e.ColumnIndex, e.RowIndex].EditedFormattedValue; if (obj != null)
{
int i = 0; if (int.TryParse(obj.ToString(), out i))
{
if (i < 0)
{
MessageBox.Show("请输入一个整数大于0的整数!!!");
dgv[e.ColumnIndex, e.RowIndex].Value = null; }
}
else
{
MessageBox.Show("请输入一个整数大于0的整数!!!");
dgv[e.ColumnIndex, e.RowIndex].Value = null; }
}
}
}我用这样的方式判断要输入的0列单元格的值大于0似乎有问题,弹出两次MessageBox,
请问怎么解决?MemoryStream stream = new MemoryStream();
BinaryWriter writer = new BinaryWriter(stream); writer.Write(12);这样方式似乎没办法把12转化为他所对应的二进制啊,怎么解决?
又引发一次change事件?
改成e.cancel;试试
Console.WriteLine(Convert.ToString(69, 2));
{
string s = dataGridView1.SelectedRows[0].Cells["Marks"].Value.ToString();
if()
{
dataGridView1.SelectedRows[0].Cells["Marks"].Value=null;
MessageBox.Show("请输入一个整数大于0的整数!!!");}
}