在C# winform编程中
1、有一个datagridview,要求点击特定的单元格时,在单元格内显示出相应的控件,比如ComBox,DatatimePicker等,在该控件选择完毕后,单元格的内容被替换为选中的值,要求从始至终只能影响该单元格,不能影响其它的任何单元格2、有一个,可以输入值的控件,比如textbox,要求在点击该控件时,在该控件下方(也可以是其他方向)显示出一个弹出面板,该面板可以容纳各种控件,在该面板上得到需要的值后,点击按钮,把该值输入到原来的控件中,同时该面板关闭。不要使用new form().showdialog()之类的方法,那些都会了

解决方案 »

  1.   

    1、http://msdn.microsoft.com/zh-cn/library/7tas5c80(VS.85).aspx
      

  2.   

    private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
            {
                int width = this.dataGridView1.Columns[e.ColumnIndex].Width;
                int height = this.dataGridView1.Rows[e.RowIndex].Height;
                DateTimePicker dt = new DateTimePicker();
                dt.Location = new Point(this.dataGridView1.RowHeadersWidth + width * e.ColumnIndex, this.dataGridView1.ColumnHeadersHeight + height * e.RowIndex);
                dt.Size = new Size(width, height);
                this.dataGridView1.Controls.Add(dt);           
            }
    textbox结合grid实现效果textbox
      

  3.   

    对于第一个问题
     DataGridViewComboBoxCell c = new DataGridViewComboBoxCell();
                c.Items.Add("aaa");
                c.Items.Add("bbb");
                dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex] = c;