winform系统开发总结

1  winform中限制textbox只能输入整数或某些字符

 

private void tab1_tb_default_KeyPress(object sender, KeyPressEventArgs e)
        {

                e.Handled = true;
                if ((e.KeyChar >= '0' && e.KeyChar <= '9')||e.KeyChar==(char)8)
                    e.Handled = false;
        }

 

(char)8  代表退格符,e.KeyChar=='.'  表示小数点

 

2 修改完datagridview中数据后仍然选中先前选中的一行

 

for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                if (dataGridView1.Rows[i].Cells[0].Value.ToString().Equals(wip))
                {
                    this.dataGridView1.CurrentCell = dataGridView1.Rows[i].Cells[0];
                    return;
                }
            }

 

this.dataGridView1.CurrentCell----可读写,currentrow只可读,所以此处只能用currentcell

 

3 textbox按回车后自动到下一个控件

 

private void textbox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (Char)Keys.Enter)
            {
                textbox2.focus();
            }
        }



4 Datagridview自动设置列宽


try
            {
                int width = 0;
                for (int i = 0; i < dataGridView1.Columns.Count; i++)
                {

   if(datagridview1.Columns[i].Visible==true)

{
                    dataGridView1.AutoResizeColumn(i, DataGridViewAutoSizeColumnMode.AllCells);
                            width += dataGridView1.Columns[i].Width;

}
                }

                  if (width > dataGridView1.Size.Width)
                    {
                        this.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
                    }
                    else
                    {
                        this.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
                    }
            }
            catch
            { }

你可能感兴趣的:(C#)