DateTimePicker dtp = new DateTimePicker();
Rectangle _Rectangle; //用來判斷時間控件的位置
private void BindGvApply()
{
dgv.Controls.Add(dtp);
dtp.Visible = false; //先不讓它顯示
dtp.Format = DateTimePickerFormat.Custom; //設置日期格式爲2010-08-05
dtp.TextChanged += new EventHandler(dtp_TextChange);
}
private void dtp_TextChange(object sender, EventArgs e)
{
dgv.CurrentCell.Value = dtp.Text.ToString();
//時間控件選擇時間時,就把時間賦給所在的單元格
}
private void gvApply_CellClick(object sender, DataGridViewCellEventArgs e)
{
DataGridViewTextBoxCell starttime = ((DataGridViewTextBoxCell)dgv.Rows[e.RowIndex].Cells["WeekTimeBeg"]);
if (e.ColumnIndex == 6)
{
_Rectangle = dgv.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true);
//得到所在單元格位置和大小
dtp.Size = new Size(_Rectangle.Width, _Rectangle.Height);
//把單元格大小賦給時間控件
dtp.Location = new Point(_Rectangle.X, _Rectangle.Y); //把單元格位置賦給時間控件
dtp.Visible = true; //可以顯示控件了
starttime.Value = DateTime.Now;
}
else
{
dtp.Visible = false;
}
}