如何将TextBox添加到dataGridView中

在没有其他的办法了吗?... 在没有其他的办法了吗? 展开
 我来答
champ4077
推荐于2018-05-09 · TA获得超过111个赞
知道答主
回答量:85
采纳率:0%
帮助的人:0
展开全部
这个我刚好会,以前看了别人的博客学会的

先从工具箱拖一个textbox到窗体form1中.然后设置其为visible属性为false

在窗体加载中写
private void Form1_Load(object sender, EventArgs e)
{

textBox1.Visible = false;
textBox1.Width = 0;
dataGridView1.Controls.Add(textBox1); //这句很重要的
}

datagridview1的CurrentCellChanged的事件中写
private void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
{
this.textBox1.Visible = false;
this.textBox1.Width = 0;
try
{
//前提是你的datagridview1一定要有数据呀
if (dataGridView1.Columns[dataGridView1.CurrentCell.ColumnIndex].HeaderText == "你选中的单元格所在的列名")
{
//以下是把把textbox1的位置与datagridview1的单元格的位置一样,不过长宽均比单元格的短2
this.textBox1.Left = dataGridView1.GetCellDisplayRectangle(dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex, true).Left;
this.textBox1.Top = dataGridView1.GetCellDisplayRectangle(dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex, true).Top;
this.textBox1.Width = dataGridView1.GetCellDisplayRectangle(dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex, true).Width-2;
this.textBox1.Height = dataGridView1.GetCellDisplayRectangle(dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex, true).Height - 2;

string str = Convert.ToString(this.dataGridView1.CurrentCell.Value); this.textBox1.Text = str;//将单元格的值赋给文本框
this.textBox1.Visible = true;
}
}
catch
{
}
}
在文本框的Validating事件中
private void textBox1_Validating(object sender, CancelEventArgs e)
{
this.dataGridView1.CurrentCell.Value = this.textBox1.Text;//如果文本框输入内容后,把其值赋给其对应的单元格
}
司琅0Iid5b
2010-11-23 · TA获得超过802个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:618万
展开全部
你好,你说的需求,其实不太容易实现。或许楼主可以考虑改变实现的方式。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咪密兔解说
2010-11-23 · TA获得超过424个赞
知道小有建树答主
回答量:488
采纳率:0%
帮助的人:287万
展开全部
重绘datagridview

别无他法~

BS的gridview可以支持模板列。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式